2017-09-17 9 views
1

と競合:多重度は、私は自分のアプリケーションを実行すると、私は次のエラーを取得する参照制約エラー

つまたは複数の検証エラーは、モデルの生成時に検出されました:

GuideMedApp.Models.NetworkPrescriber_Patients::多重度を は、ロール 'NetworkPrescriber_Patients_Source'の参照制約と、関係 'NetworkPrescriber_Patients'で競合しています。 依存ロールのすべてのプロパティはnull不可能なので、プリンシパルロール の多重度は「1」でなければなりません。

私は、エンティティ 'NetworkPrescriber'と 'Patient'の間の関係を作成しようとしています。 Patientエンティティには、NetworkPrescriberテーブルを指す2つの外部キーがあります。ここで

は、モデルが定義されている方法は次のとおりです。

患者

[Table("Patient")] 
public partial class Patient 
{ 
    public long PatientID { get; set; } 

    public long? NetworkPrescriberID { get; set; } 

    public long? SecondaryNetworkPrescriberID { get; set; } 

    public virtual NetworkPrescriber NetworkPrescriber { get; set; } 

    public virtual NetworkPrescriber NetworkPrescriber1 { get; set; } 

} 

NetworkPrescriber

[Table("NetworkPrescriber")] 
public partial class NetworkPrescriber 
{ 
    public NetworkPrescriber() 
    { 
     Patients = new HashSet<Patient>(); 
     Patients1 = new HashSet<Patient>(); 

    } 

    public long NetworkPrescriberID { get; set; } 

    public virtual ICollection<Patient> Patients { get; set; } 

    public virtual ICollection<Patient> Patients1 { get; set; } 

} 

モデル構成は以下の通りです:

modelBuilder.Entity<NetworkPrescriber>() 
       .HasMany(e => e.Patients) 
       .WithOptional(e => e.NetworkPrescriber) 
       .HasForeignKey(e => e.NetworkPrescriberID); 

    modelBuilder.Entity<NetworkPrescriber>() 
       .HasMany(e => e.Patients1) 
       .WithOptional(e => e.NetworkPrescriber1) 
       .HasForeignKey(e => e.SecondaryNetworkPrescriberID); 

モデルが定義されている方法と、それらがAPIで構成されている方法に不一致がありますが、表示されません。 このエラーを解決するにはどうすればよいですか?

+0

あなたはすべての構成を示していただけますか? – Marusyk

+0

@MegaTronこれは、これらの2つのエンティティに対して唯一の設定です –

+0

モデルの完全な設定を追加してください。 – Marusyk

答えて

1

は、この設定を追加してください:

modelBuilder.Entity<Patient>() 
    .Property(p => p.NetworkPrescriberID).IsOptional(); 
modelBuilder.Entity<Patient>() 
    .Property(p => p.SecondaryNetworkPrescriberID).IsOptional(); 
+0

ありがとうございました!これはうまくいきました:) –

+0

助けてくれてうれしい – Marusyk

関連する問題