我經常有以下結構:EF代碼優先:1,到一個單向關係
MyClass
public virtual ICollection<Version> Versions { get; set; }
public virtual Version CurrentVersion { get; set; }
也就是說,存在的東西的清單,有的班級都指向列表,該列表中的一個特定項目 - 許多版本的當前版本,事件列表中的下一個即將發生的事件等。
在我的模式中,我想最終得到的是一個指向版本的外鍵到MyClass - 很多工作正常。但是後來我想要一個外鍵從MyClass指向代表CurrentVersion屬性的Version,並且沒有外鍵返回 - 我不想額外存儲或者告訴版本什麼是MyClass,它是CurrentVersion(如果有的話)。換句話說,我希望這種第二種關係從MyClass到Version是單向的,即使它是一對一的。
EF Code First給我的第一個屬性是正常的一對多,FK從Version到MyClass,但是第二個屬性具有FK指向的完全一對一關係在兩個方向上 - 所以Version的底層模式以MyClass_Id和MyClass_Id1結束。
那麼,有沒有辦法在EF Code First中獲得單向關係而無需使用Fluent API?它看起來可能是System.ComponentModel.DataAnnotations.Schema.InverseProperty有一個鏡頭,但它似乎沒有提供一種方式來說「不要生成一個」。
你能告訴我如何用流利的api來做到這一點嗎? –
@ahmadalishafiee可能最適合自己的問題 –