「Customers」というテーブルで作成されたモデルがあります。
次のフィールドが含まれています。
- CustomerProfileID
- 顧客名
- 生年月日
- 住所(1
- 街
- 州
- ジップ
- CreatedOn
- によって作成された
テーブルを検索するストアドプロシージャ(CustomerProfiles_Search)の「関数インポート」を実行しました。(機密情報のため、Sprocを投稿できません)。「コレクションを返す」は「エンティティ:CustomerProfile」に設定されています。次を返します。
- 顧客名
- 生年月日
- 住所(1
今ここで私は混乱します。 検索するフィールドを渡してから、リストを返す「ゲートウェイ」に渡すコントローラーがあります。
私のコントローラー:
public ActionResult GetRowCount(string CustomerName, string BirthDate, string Address1, string City, string State, string Zip)
{
List<CustomerProfile> searchResults = CustomerProfileGateway.Search(CustomerName, BirthDate, Address1, City, State, Zip);
int count = searchResults.Count();
string rowCount = count.ToString();
if (Request.IsAjaxRequest())
return Content(rowCount);
else
return RedirectToAction("Index", "OneView");
}
... CustomerProfileGateway.csファイル内:
public static List<CustomerProfile> Search(string CustomerName, string BirthDate, string Address1, string City, string State, int Zip)
{
using (ModelEntities context = new ModelEntities())
{
return context.CustomerProfiles_Search(CustomerName, BirthDate, Address1, City, State, Zip).ToList();
}
}
ただし、結果をリストに出力しようとすると、次の場合にエラーが発生します。
The data reader is incompatible with the specified 'SVPModel.CustomerProfile'. A member of the type, 'CustomerProfileID', does not have a corresponding column in the data reader with the same name.
返されるもののモデルを作成する必要があると思います。
私は以下を作成しました:
namespace Project.ABC.Objects
{
class SearchModel
{
public class SearchResults
{
public string CustomerName { get; set; }
public string BirthDate { get; set; }
public string Address1 { get; set; }
}
}
}
しかし、私はこれを行う方法がわかりませんか?誰かが私がここで間違っていることを教えてくれませんか。どんな助けでも大歓迎です。