C# 可查询的条件包含
我有一些课程:C# 可查询的条件包含,c#,entity-framework,linq,iqueryable,C#,Entity Framework,Linq,Iqueryable,我有一些课程: public Department { public HashSet<Employee> Managers {get; set;} public HashSet<Employee> Workers {get; set;} public HashSet<Asset> Assets {get; set;} } 公共部门{ 公共哈希集管理器{get;set;} 公共哈希集工作程序{get;set;} 公共HashSet。“因为您的经理和
public Department {
public HashSet<Employee> Managers {get; set;}
public HashSet<Employee> Workers {get; set;}
public HashSet<Asset> Assets {get; set;}
}
公共部门{
公共哈希集管理器{get;set;}
公共哈希集工作程序{get;set;}
公共HashSet。“因为您的
经理
和工人
属性是部门
类的直接子类,您在员工
类中不引用部门
,因此您不能为此目的使用包含()
我认为应该通过使用子查询来实现这一点
var query = (from d in Contex.Department
where d.CompanyId == id
select new Department{
Managers = d.Managers.where(m => m.level == Position.Manager),
Workers = d.Workers.where(w => w.level == Position.Worker),
Asset = d.Assets,
});
希望它能解决您的问题。您能提供错误信息吗?错误信息是必需的,因此我们有一个关于执行情况的指示器。更新的错误消息.Include不会过滤任何数据。理想情况下,您的代码可以正常工作
var query = (from d in Contex.Department
where d.CompanyId == id
select new Department{
Managers = d.Managers.where(m => m.level == Position.Manager),
Workers = d.Workers.where(w => w.level == Position.Worker),
Asset = d.Assets,
});