我有一个使用名为“客户”的表创建的模型。
它包含以下字段:
- 客户资料 ID
- 顾客姓名
- 出生日期
- 地址1
- 城市
- 状态
- 压缩
- 创建于
- 由...制作
我对搜索表的存储过程 (CustomerProfiles_Search) 进行了“函数导入”。(由于敏感信息,我无法发布 Sproc)。“返回集合”设置为“实体:客户配置文件”。它返回以下内容:
- 顾客姓名
- 出生日期
- 地址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; }
}
}
}
但我不知道该怎么做?有人可以告诉我我在这里做错了什么。任何帮助是极大的赞赏。