0
根模型上的導航屬性始終返回null,而同樣定義的模型上的次關係類似地加載正確。我試圖找出原因。實體框架根導航屬性爲空,但是後代導航屬性已填充
使用EF6代碼首先,預先加載,我的模型/導航性能的結構是這樣的:
- ProjectUser
- 項目(總是空)
- 用戶(精負載)
- 組(加載正常)
- 客戶端
- 項目(正確填充 - 應始終是相同ProjectUser.Project)
- 客戶端
我ProjectUser.Project總是空,但有趣的是,ProjectUser.Groups。 Clients.Project正確填充。我的項目映射,像這樣:
HasRequired(pu => pu.Project)
.WithOptional()
.Map(m => m.MapKey("ProjectId"));
爲了進一步使事情變得混亂,我居然能拿到項目加載如果上述映射更改WithOptional()
是WithMany()
。然而,這對我來說沒有任何意義...所以我的問題是:
爲什麼ProjectUser.Project在使用WithOptional
時不加載?
無法重現。確保模型和數據庫同步。此外,數據是正確的(因爲您設置的關係是「一對一」的,所以'ProjectUser'表中沒有重複的'ProjectId') –