最初にコードで1対1の関係を作成したいのですが、以下は私のコードです。
class Person
{
public int id { get; set; }
public string Name { get; set; }
public virtual PersonDetail detail { get; set; }
}
class PersonDetail
{
public int id { get; set; }
public double Height { get; set; }
public double Weight { get; set; }
public virtual Person person { get; set; }
}
class EFTest : DbContext
{
public DbSet<Person> personSet { get; set; }
public DbSet<PersonDetail> detailSet { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Person>().HasRequired(x => x.detail).WithRequiredPrincipal(x => x.person);
}
}
しかし、私はまだ人の詳細なしで人を挿入することができます。最初にモデルで1対1の関係を作成しようとしていますが、これはうまく機能します。一方の端をもう一方の端なしで挿入すると、例外がスローされます。上記のコードで最初にコードを作成すると、1対0..1の関係が作成されるのはなぜですか?
誰でも助けることができますか?