我有一个具有一些普通1对多关系的实体和一个隐含1对多关系的集合,没有定义任何关系。
我想要做的就是让它像以下一样协同工作:
IQueryable<Employee> leftJoin =
_dbContext.EmployeeList
.GroupJoin(
inner: _dbContext.ContactList.Where(x => x.TableType == TableType.Employee),
outerKeySelector: employee => employee.EmployeeId,
innerKeySelector: contact => contact.TableId,
resultSelector: (employee, contacts) => new { employee, contacts = contacts.DefaultIfEmpty() }
)
.AsEnumerable()
.Select(x =>
{
x.employee.ContactList = x.contacts;
return x.employee;
})
.AsQueryable()
.Include(x => x.EmployeeRoleMapList);
主要的麻烦是我需要以某种方式从连接集中初始化Employee.ContactList,在IQuerable中它是不可能的,我已经将它转换为IEnumerable但是在那之后普通的包含不包含#n;&#39;也是合乎逻辑的工作。是否有一些解决方法或一些不同的方法可以用来实现这个目标?