我們在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的任何方式。