选择创建新对象不是设置第二级实体

时间:2016-09-09 09:19:36

标签: c# entity-framework linq

当设置参数Users不包括子实体Address时,我在创建新对象(如下例)时遇到问题。

当传递给新对象时,就会发生此问题。

var services = _serviceDbSet
                  .Include(b => b.Users)
                  .Include(b => b.Users.Select(x => x.Address))
                  .Select(s => new    
                               {
                                    Id = s.Id,
                                    Users = s.Users
                               });

2 个答案:

答案 0 :(得分:0)

尝试实现像这样的用户集合

.Select(s => new    
{
Id = s.Id,
Users = s.Users.ToList()
}).ToList();

答案 1 :(得分:0)

在这种情况下,您可以在内存中进行投影(选择)。

var services = _serviceDbSet
              .Include(b => b.Users)
              .Include(b => b.Users.Select(x => x.Address))
              .ToList()
              .Select(s => new    
                           {
                                Id = s.Id,
                                Users = s.Users
                           });

在这种情况下,投影将包含具有代理/包含

的对象