Linq使用流畅的语法从一种类型投影到另一种类型

本文关键字:类型 一种 投影 另一种 语法 Linq | 更新日期: 2023-09-27 18:26:52

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

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

我在理解如何使用投影将偶发事件转换/映射到IncidentsView时遇到了什么问题?

Linq使用流畅的语法从一种类型投影到另一种类型

您可以将查询的结果投影到类对象中。假设你的类名是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();