【发布时间】:2017-04-02 07:02:43
【问题描述】:
所以我的面试实体/模型中有 CityID(属性)。
我可以(应该)在我的 ViewModel (InterviewViewModel.cs) 中有 CityName 吗?
如果是,我将如何使用 AutoMapper 映射它们,因为它(城市)是一个单独的实体?
Mapper.Initialize(cfg =>
{
cfg.CreateMap<Interview, InterviewViewModel>()
.ForMember
(dst => dst.CityName, src => src.MapFrom (e => e. // how would I do this?? ))
});
【问题讨论】:
-
在 Interview 中创建一个 city 属性并执行 e=> e.City.CityName,你使用 ORM 是这样想的。
-
你是说导航属性吧?我想到了这一点,但后来我也需要其他实体中的城市。然后我必须在所有这些实体中拥有 ICollection
Cities,对吗?另外,我还需要一个 CityID 在我的采访中存储与采访相关的城市......? -
是的,完全正确。这就是要走的路,应该怎么做。如果您不想这样做,则需要通过查询 City 表手动映射城市名称。那将是两个数据库调用,效率不高。
-
好的,谢谢。请写下您的评论作为答案,以便我将其标记为答案。
标签: c# automapper viewmodel