C# 如何将特殊实体包括在内。。。?
当IsActive==true时,我希望包括所有相关的OrganizationPositionsC# 如何将特殊实体包括在内。。。?,c#,entity-framework,silverlight-4.0,C#,Entity Framework,Silverlight 4.0,当IsActive==true时,我希望包括所有相关的OrganizationPositions this.ObjectContext.Employees.Include("OrganizationPositions") 数据库结构 Employee | OrganizationPositions --------- ------------------------- ID ID , EmployeeID , IsActive 将加载指定关
this.ObjectContext.Employees.Include("OrganizationPositions")
数据库结构
Employee | OrganizationPositions
--------- -------------------------
ID ID , EmployeeID , IsActive
将加载指定关系的所有实体。无法根据条件筛选出某些实体
您可以通过执行手动联接筛选出实体:
from e in ObjectContext.Employees
join op in ObjectContext.OrganizationPositions
on e.EmployeeID equals op.EmployeeID into g
select new {
Employee = e,
ActivePositions = g.Where(x => x.IsActive)
}
将加载指定关系的所有实体。无法根据条件筛选出某些实体
您可以通过执行手动联接筛选出实体:
from e in ObjectContext.Employees
join op in ObjectContext.OrganizationPositions
on e.EmployeeID equals op.EmployeeID into g
select new {
Employee = e,
ActivePositions = g.Where(x => x.IsActive)
}
不可能。但是,如果正确声明导航属性,并且确实需要所述的情况,则可以使用以下代码:
//...
// First, retrieve all Employees with navigation property
var emps = new ObjectContext.Employees.Include("OrganizationPositions").AsQueryable();
// Then, clear OrganizationPositions of those that aren't active:
foreach (Employee e in emps) {
if (e.IsActive != true)
e.OrganizationPositions.Clear();
}
不可能。但是,如果正确声明导航属性,并且确实需要所述的情况,则可以使用以下代码:
//...
// First, retrieve all Employees with navigation property
var emps = new ObjectContext.Employees.Include("OrganizationPositions").AsQueryable();
// Then, clear OrganizationPositions of those that aren't active:
foreach (Employee e in emps) {
if (e.IsActive != true)
e.OrganizationPositions.Clear();
}
你能再给我们一点背景吗?不是(所有)向导。员工表已与OrganizationPositions上的OrganizationPositions表联接。EmployeeID=Employee.ID,我想包括员工上的OrganizationPositions,但只包括IsActive字段为的记录true@Masoomian您不能只加载部分相关实体-或者手动加入并获取数据,或者包括所有相关的实体谢谢亲爱的Lazyberezovsky你能给我们多一点背景吗?不是(所有)向导。员工表已与OrganizationPositions上的OrganizationPositions表联接。EmployeeID=Employee.ID,我想包括员工上的OrganizationPositions,但只包括IsActive字段为的记录true@Masoomian您不能只加载部分相关实体-或者手动加入并获取数据,或者包括所有相关的实体谢谢亲爱的lazyberezovskyit是真的,但此代码返回了AnonymousType。我需要Employee type。@很遗憾,如果您试图在查询中构造Employee,您将看到一个错误,即无法在Linq to Entities查询中构造Employee实体。这里的选项是获取匿名类型并将其映射到客户端的实体。这是真的,但此代码返回了AnonymousType。我需要员工类型。@很遗憾,如果您试图在查询中构造员工,您将看到一个错误,即无法在Linq to Entities查询中构造员工实体。这里的选项是获取匿名类型并将其映射到客户端的实体。谢谢亲爱的阿明。这是真的,但这段代码从数据库中获取所有“OrganizationPositions”,然后删除。谢谢亲爱的Amin。这是真的,但这段代码从数据库中获取所有“OrganizationPositions”,然后删除。