簡體   English   中英

具有null外鍵的EF Navigation Property

[英]EF Navigation Property with null foreign key

我試圖第一次使用導航屬性而不是連接。 我無法通過左外連接來完成通常情況下的工作。 在下面的示例中,我只返回外鍵為非null的結果。 我需要回復所有結果。 我錯過了什么?

public class User
{
    [Key]
    public int UserID {get;set;}

    public String Name {get;set;}
}

public class Shipment
{
    [Key]
    public int ShipmentID {get;set;}

    public int? SignedForByID {get;set;}

    [ForeignKey("SignedForByID")]
    public virtual User SignedForBy{get;set;}
}

導航屬性映射:

 Shipment.HasOptional(x=> x.SignedForBy).WithMany()
.HasForeignKey(y=> y.SignedForByID).WillCascadeOnDelete(false);

查詢:

var data = (from s in context.Set<Shipment>()
            select new {
                    ShipmentID = s.ShipmentID,
                    SignedForBy = s.SignedForBy
                        });

此示例中未顯示該問題。 映射由輔助類生成。 在某些情況下,助手類使用.HasRequired()方法而不是.HasOptional()錯誤地映射導航屬性。 更正映射類已修復此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM