我想先通过代码创建一对一的关系,下面是我的代码,
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 的关系?
任何人都可以帮忙吗?