实体框架SQL投影到类模型

时间:2015-11-25 16:32:36

标签: c# sql-server entity-framework linq

我做错了,是不是可以将某个数据模型投射到强类型模型而不是匿名对象?

我有这个Linq表达式:

var kudosLogsQuery = _kudosLogsDbSet
    .Include(log => log.Type)
    .Include(log => log.Employee)
    .Where(log =>
        log.OrganizationId == options.OrganizationId &&
        log.BasketId == null)
    .Where(StatusFilter(options.Status))
    .Where(TypeFilter(options.TypeId))
    .Where(UserFilter(options.SearchUserId))
    .Select(log => new Comment 
     { 
         Id = log.Id, 
         Created = log.Created,    
         Employee = new Employee 
         { 
             FirstName = log.Employee.Name 
         }
         Type = new Type
         {
             Name = log.Type.Name
         }
    })
    .OrderByDescending(log => log.Created)
    .ToList()

TypeFilter,StatusFilter,UserFilter是x =>是或只是状态,类型或用户的另一个过滤器。

不幸的是,它生成了一个SQL语句,它接受该表中的所有字段并将其投影到应用程序端。通过在SQL事件探查器上测试这些Linq表达式得出结论。

问题: 我做错了什么,或者SQL投影只与匿名对象一起使用?

由于

0 个答案:

没有答案