【发布时间】:2013-11-26 01:01:28
【问题描述】:
我正在从 linq 查询中填充我的视图模型。我有一种方法可以检索看起来像这样的计划列表
public static IEnumerable<PlanViewModel> GetPlans()
{
using (var context = new RepEntities())
{
var query = (from p in context.Plans.Include("StatusCommon")
join r in context.RealEstateDetails on p.ReId equals r.ReId
select new PlanViewModel
{
PlanName = p.PlanName,
...
LastUpdated = p.LastUpdated,
});
return query.ToList();
}
}
您看到省略号的地方是大约 30 个其他属性。现在我想构建一个返回单个计划的方法。该方法实际上是相同的,只是它将包含一个 where 子句来指定一个计划 ID。我想重构这段代码,这样我就不会复制模型到 ViewModel 的映射。但是,我没有找到允许我这样做的方法。任何人都可以就如何正确编码提供任何建议,以免这里有太多重复?
提前致谢!
【问题讨论】:
-
尝试创建存储库添加当前正在执行的 GetAll 方法,添加您想要实现的 GetById 方法..
标签: c# asp.net-mvc linq mapping viewmodel