Entity framework 是否可以先根据EF代码中的条件映射属性?
我有一个员工实体,它有多个单位实体,它们也以各种方式关联(例如,作为经理、主管等)。他们与单位的关系是在UnitRelationships表中定义的,该表除包含EmployeeId、UnitId和RelationshipTypeId属性外,还包含IsActive属性 我想做的是在员工实体上创建特定属性,例如:Entity framework 是否可以先根据EF代码中的条件映射属性?,entity-framework,ef-code-first,entity-framework-4.1,Entity Framework,Ef Code First,Entity Framework 4.1,我有一个员工实体,它有多个单位实体,它们也以各种方式关联(例如,作为经理、主管等)。他们与单位的关系是在UnitRelationships表中定义的,该表除包含EmployeeId、UnitId和RelationshipTypeId属性外,还包含IsActive属性 我想做的是在员工实体上创建特定属性,例如: SupervisedUnits {get;set;} ManagedUnits{get;set;} 。。。并配置映射,以便“SuperviedUnits”仅返回存在活动(IsActive
SupervisedUnits {get;set;}
ManagedUnits{get;set;}
。。。并配置映射,以便“SuperviedUnits”仅返回存在活动(IsActive=true)关系的单元和RelationshipTypeId='Supervisor'。与ManagedUnits相同的类型
那么,有没有一种方法可以先在EF代码中这样做,这样我就可以在LINQ to Entities查询中实际使用这些属性(SupervisedUnits和ManagedUnits)
谢谢可能有几种方法可以做到这一点
主管
移动到非活动主管
。这样做可以提供一个SupervisedUnits
导航属性(如您所需)和一个InActiveSupervisedUnits
属性IsActive
、ActiveFrom
和ActiveTo
等属性。现在,关系确实需要成为一个实体。可以对UnitRelationship实体使用继承:
public class SupervisorUnitRelationShip : UnitRelationship{ }
公共类管理器运行关系:UnitRelationship
{
}
public virtual Collection<SupervisorUnitRelationship> SupervisedRelations {get;set;}
public virtual Collection<ManagerUnitRelationship> ManagedRelations {get;set;}
公共虚拟集合受监控的关系{get;set;}
公共虚拟集合管理关系{get;set;}
要进入单位,你必须通过单位关系
var-superviedUnits=superviedRelations.Units代码>听起来像是要将继承引入模型。您说它是代码优先,但您的问题的措辞似乎是数据库优先。你是否对数据库进行了反向工程?