【发布时间】:2015-01-16 04:30:19
【问题描述】:
我正在使用 Entity Framework 6 DBFirst、MVC5 和 AutoMapper。
我有 2 个表,Customers 和 CustomerContacts 对于我在实体框架 EDMX(自动生成)中的每个类,我都有一个具有完全相同属性的模型类。即客户 => Model.Customer,CustomerContact => Model.CustomerContact。这就是我使用 AutoMapper 的原因。
问题 1:由于我的 Customer_Get 存储过程返回一个自动生成的复杂类型 (Customer_Get_Result),因此大多数人还会为此创建一个额外的模型类吗? (Model.Customer_Get_Result.cs) 还是应该将所有属性组合起来,将所有内容添加到 Model.Customer?
问题 2:我处理以下客户联系人映射的方式是否正确?大部分 Model.Customer 中的每个属性都与 AutoGenerated EF6 DBFirst 文件完全相同,除了我放在 Model.Customer 中的这个:
public List<CustomerContact> Contacts { get; set; }
最后我希望能够使用 Customer.Contacts 自动获取所有客户联系人的列表
在我的 AutoMapper 中,我试图做这样的事情,但不认为这是正确的:
CreateMap<Customer, Model.Customer>()
.ForMember(dest => dest.Contacts, opt => opt.MapFrom(src => src.CustomerContact));
//map for customer getlist stored proc which will be returning several fields
//such as TotalCount, RowNumber, fields from a bunch of other tables
CreateMap<Customer_Get_Result, Model.Customer>();
【问题讨论】:
标签: c# asp.net-mvc entity-framework automapper ef-database-first