と競合:多重度は、私は自分のアプリケーションを実行すると、私は次のエラーを取得する参照制約エラー
つまたは複数の検証エラーは、モデルの生成時に検出されました:
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で構成されている方法に不一致がありますが、表示されません。 このエラーを解決するにはどうすればよいですか?
あなたはすべての構成を示していただけますか? – Marusyk
@MegaTronこれは、これらの2つのエンティティに対して唯一の設定です –
モデルの完全な設定を追加してください。 – Marusyk