Linq使用流畅的语法从一种类型投射到第二种类型

时间:2014-10-17 17:24:16

标签: c# linq entity-framework

我有一个EF表/对象,我想映射到一个几乎相同的新对象。 我可以使用AutoMapper,但希望用Linq投影来做。 我正在使用此代码创建对象列表。

var ci = db.Incidents
    .Where(a => a.FollowUpDate.Value.Year == DateTime.Now.Year
        && a.FollowUpDate.Value.Month == DateTime.Now.Month)
    .ToList();

我在理解如何使用投影将事件转换/映射到事件视图时遇到问题?

1 个答案:

答案 0 :(得分:3)

您可以将查询结果投影到类对象。假设您的班级名称为MyClass,那么您可以这样做:

var ci = db.Incidents
    .Where(a => a.FollowUpDate.Value.Year == DateTime.Now.Year
               && a.FollowUpDate.Value.Month == DateTime.Now.Month)
    .Select(r=> new MyClass
          { 
            Property1 = r.Property1,
           //rest of the properties .....
         }).ToList();