簡體   English   中英

新創建的 EF 代碼第一個表的 SQL Server 外鍵窗口問題

[英]SQL Server foreign key window issue for newly created EF Code first table

我不知道是否有人面臨這個問題,或者只是其他問題。

我正在使用 EF 代碼優先架構。

這是我的第一堂課:

public class PerformanceSurchargeGeneralSettings : FullAuditedEntity
{
    public int PerformanceID { get; set; }
    public Performance Performance { get; set; }

    public int SurchargeId { get; set; }
    public Surcharges Surcharge { get; set; }
}

這是第二類:

public class Surcharges : FullAuditedEntity
{
    public  string Name { get; set; }

    public ICollection<PerformanceSurchargeGeneralSettings> PerformanceSurchargeGeneralSettings{ get; set; }
}

一切正常,我可以添加遷移,更新我的數據庫,但是如果我去表並檢查外鍵引用,我看不到主鍵表。 在此處查看此屏幕截圖:

在此處輸入圖片說明

我無法在主鍵表的下拉列表中找到新添加的Surcharge表。

如果我對這個表執行SP_help ,我可以找到所有的外鍵,看截圖:

在此處輸入圖片說明

我不明白問題到底出在哪里......

H,

更改您的課程如下;

[Table("PerformanceSurchargeGeneralSettings")]
public class PerformanceSurchargeGeneralSetting : FullAuditedEntity
{
    [ForeignKey("PerformanceId")]
    public virtual Performance Performance { get; set; }
    public int PerformanceId { get; set; }

    [ForeignKey("SurchargeId")]
    public virtual Surcharge Surcharge { get; set; }
    public int SurchargeId { get; set; }    
}

[Table("Surcharges")]
public class Surcharge : FullAuditedEntity
{
    [MaxLength(128)]
    public string Name { get; set; }

    public virtual ICollection<PerformanceSurchargeGeneralSetting> PerformanceSurchargeGeneralSettings{ get; set; }
}

我的建議

  • 對類使用單數名稱。 附加費 => 附加費。
  • MaxLength賦予字符串屬性。
  • 對所有 Id 字段使用相同的大小寫。 性能 ID => 性能 ID。 (就像您為 SurchageId 所做的那樣)。
  • 當你想通過延遲加載加載數據時添加虛擬鍵。

暫無
暫無

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

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