//モデル作成時:
protected override void OnModelCreating(DbModelBuilder modelBuilder) {
// Person
modelBuilder.Entity<Person>().HasKey(e => e.PersonID)
.ToTable("Persons")
.Property(e => e.PersonID)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
//Referancial
modelBuilder.Entity<Referancial>().HasKey(e => e.KeyID)
.ToTable("Referancials")
.Property(e => e.KeyID)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
//Translation
modelBuilder.Entity<Translation>().ToTable("Translations")
.HasKey(e => e.KeyID)
.Property(e => e.KeyID)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
modelBuilder.Entity<Referancial>()
.HasOptional(e=>e.Translations)
.WithMany()
.HasForeignKey(e => e.KeyID);
base.OnModelCreating(modelBuilder);
}
しかし、それは私にエラーを引き起こしました:
モデルの生成中に 1 つ以上の検証エラーが検出されました:
PersonSearch.Models.Referancial_Translations: : 多重度は、関係 'Referancial_Translations' のロール 'Referancial_Translations_Target' の参照制約と競合します。従属ロールのすべてのプロパティは null 非許容であるため、プリンシパル ロールの多重度は '1' でなければなりません。Referancial_Translations_Source: : 関係 'Referancial_Translations' のロール 'Referancial_Translations_Source' では多重度が無効です。依存ロールはキー プロパティを参照するため、依存ロールの多重度の上限は '1' でなければなりません。