我们在n层设置(Silverlight/WCF)中使用实体框架5代码优先。实体框架 - 没有实体引用的模型FK关联?
为了简化我们的实体图的这种情况下,我们不使用导航属性的关联不依赖于根实体的PK,只映射FK的性能,例如:
Deal
- PaymentScheduleID (FK property)
- PaymentSchedule (dependent on Deal so we need to use navigation property)
- BusinessUnitID (FK property, Deal is optionally dependent on BusinessUnit)
在这个示例中,PaymentSchedule是对仅由父交易定义的实体的引用,因此我们使用导航属性和FK属性以及使用Fluent API的关联映射。
如果我们为新付款计划添加交易,EF将根据我们的关联映射制定出它需要在插入Deal之前插入PaymentSchedule,这正是我们想要的。
但是,如果我还需要添加新的BusinessUnit,EF可能会将插入的顺序错误,因为它不知道BusinessUnitID是FK到BusinessUnit,并且从数据库中收到错误。
有没有什么办法可以告诉EF,数据库中存在FK关联而不需要模型上的导航属性?我看不到使用Fluent API的任何方式。