[英]Entity Framework Core adding new Entity with required navigation property in one-to-many relationship?
[英]Entity Framework 6 One-To-Many Relationship without Navigation Property
我有2個表:A和B有一對多的關系,這些表在EF 6中實現如下:
public class A
{
[Key]
public int AID {get;set;}
public string AName {get;set;}
}
public class B
{
[Key]
public int BID {get;set;}
public string BName {get;set;}
public int AID {get;set;}
[ForeignKey("AID")]
public A InstanceOfClassA {get;set;}
}
問題
當我從上下文中檢索B
時, InstanceOfClassA
始終為null。
假設
因為沒有導航屬性參考A
實體中的B
,因此,實體框架在檢索B
時不會延遲加載A
期待
因為我不需要從A
訪問B
,所以我想擺脫A
的導航屬性但仍保留B
中延遲加載A
的能力。
注意
我看過Map Many to Many關系中沒有導航屬性的帖子,但這不符合我的情況。
無論如何,我可以強制從B
延遲加載A
而不使用顯式include var b = context.B.Include(x => x.InstanceOfClassA);
? 也許定制會議
編輯1
我嘗試使用慣例如下,仍然沒有運氣:
modelbuilder.Entity<B>()
.HasRequired<A>(x => x.InstanceOfClassA);
要使延遲加載工作,您必須使用virtual
關鍵字標記navigation屬性:
[ForeignKey("AID")]
public virtual A InstanceOfClassA {get;set;}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.