在一对一关系中,一端必须是主体,第二端必须是从属关系。主体端是将首先插入的端,并且可以存在而无需从属端。从属端是必须在主体后插入的一端,因为它具有主体的外键。
如果是实体框架FK,则从属实体还必须是它的PK,因此在您的情况下,您应该使用:
public class Boo
{
[Key, ForeignKey("Foo")]
public string BooId{get;set;}
public Foo Foo{get;set;}
}
或流利的贴图
modelBuilder.Entity<Foo>()
.HasOptional(f => f.Boo)
.Withrequired(s => s.Foo);