2017-12-25 19 views
-2

誰かがこの問題に直面しているのか、それとも他のものなのか分かりません。新しく作成されたEFコードの最初のテーブルのSQL Server外部キーウィンドウの問題

私は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; } 
} 

すべてが正常に動作しますが、私はテーブルに行けばと外部キー参照をチェックすると、プライマリキーテーブルが表示されません。ここでは、このスクリーンショットを参照してください。

enter image description here

私は主キーテーブルのドロップダウンでSurchargeで新しく追加されたテーブルを見つけることができないのです。

そして、私はこのテーブルのためSP_helpを実行した場合、私はスクリーンショットを参照、すべての外部キーを見つけることができます:正確に問題がどこにあるか私は理解していない

enter image description here

を...

答えて

1

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フィールドに同じ大文字と小文字を使用します。 PerformanceID => PerformanceId。 (SurchageIdの場合のように)。
  • 遅延ロードでデータをロードする場合は、仮想キーを追加します。
+0

私は、試してみて、私に数時間 – Bharat

+0

@aaronを与える:はい、はい、はい、私のfunctinalityが正常に動作しているので、YEYをチェックしていない、といくつかの時間のために私はそれを邪魔したくない... – Bharat

+0

...それは働いて、私はすべてのアドバイスに従って、データベースの外部キーは今適切だが、たわごと、今私はほぼ30のテーブルを更新する必要があります – Bharat

関連する問題