C# 分帧Linq查询问题

C# 分帧Linq查询问题,c#,linq,entity-framework,c#-4.0,C#,Linq,Entity Framework,C# 4.0,代码: 我的完整代码: x => x.MeetTeamMembers.Where(e => e.MeetType.IsManager) .Select(z => z.User.Name) .FirstOrDefault() IQueryable查询=\u meetradeservice.GetRecords() .Include(x=>x.MeetType) .Include(x=>x.m

代码:

我的完整代码:

x => x.MeetTeamMembers.Where(e => e.MeetType.IsManager)
                      .Select(z => z.User.Name)
                      .FirstOrDefault()
IQueryable查询=\u meetradeservice.GetRecords()
.Include(x=>x.MeetType)
.Include(x=>x.meettammembers.Where(e=>e.MeetType.IsManager)
.Select(z=>z.User.Name)
.FirstOrDefault())

.Where(x=>x.EndDateTime您不能在调用
Include
的过程中进行筛选。这意味着
。Where(e=>e.MeetType.IsManager)
是罪魁祸首。只有在执行查询后才能执行您想要的操作:

 IQueryable<Meet> query = _meetReadService.GetRecords()
           .Include(x => x.MeetType)
           .Include(x => x.MeetTeamMembers.Where(e => e.MeetType.IsManager)
                                          .Select(z => z.User.Name)
                                          .FirstOrDefault())
           .Where(x => x.EndDateTime <= DateTime.Now);
IQueryable查询=\u meetradeservice.GetRecords()
.Include(x=>x.MeetType)
.包括(x=>x.meettammembers)
.Select(z=>z.User.Name).FirstOrDefault()
.Where(x=>x.EndDateTime e.MeetType.IsManager);
}

Entity Framework或LINQ to SQL?MeetType是映射到数据库还是只是一个简单的属性?ORM无法处理未映射到数据库的属性
 IQueryable<Meet> query = _meetReadService.GetRecords()
           .Include(x => x.MeetType)
           .Include(x => x.MeetTeamMembers.Where(e => e.MeetType.IsManager)
                                          .Select(z => z.User.Name)
                                          .FirstOrDefault())
           .Where(x => x.EndDateTime <= DateTime.Now);
IQueryable<Meet> query = _meetReadService.GetRecords()
                                         .Include(x => x.MeetType)
                                         .Include(x => x.MeetTeamMembers)
                                         .Select(z => z.User.Name).FirstOrDefault())
                                         .Where(x => x.EndDateTime <= DateTime.Now);

var queryResults = query.ToList();

foreach (var meet in queryResults) 
{
    meet.MeetTeamMembers = meet.MeetTeamMembers.Where(e => e.MeetType.IsManager);
}