Orm 将一映射为零或将一映射为主体上的单向导航属性,而不映射从属对象上的FK属性

Orm 将一映射为零或将一映射为主体上的单向导航属性,而不映射从属对象上的FK属性,orm,entity-framework-6,fluent,Orm,Entity Framework 6,Fluent,我正在尝试映射两个实体,而其他类似的问题也帮不了我 class Dog { int id; string Name; } class Person { int id; string Name; Dog Dog; } 一个人必须只有一只狗,但狗可以是一只小狗 在数据库中,有一个FK from表Dog,其中可为空的列idPerson指向表Person 我目前正在映射以下语句: modelBuilder.Entity<Person>().HasO

我正在尝试映射两个实体,而其他类似的问题也帮不了我

class Dog {
    int id;
    string Name;
}

class Person {
    int id;
    string Name;
    Dog Dog;
}
一个人必须只有一只狗,但狗可以是一只小狗

在数据库中,有一个FK from表Dog,其中可为空的列idPerson指向表Person

我目前正在映射以下语句:

modelBuilder.Entity<Person>().HasOptional(x => x.Dog).WithOptionalPrincipal().Map(x => x.MapKey("idPerson"));
因为我不能这样做:

modelBuilder.Entity<Person>().HasRequired(x => x.Dog).WithOptional().Map(x => x.MapKey("idPerson"));
或者这个:

modelBuilder.Entity<Person>().HasRequired(x => x.Dog).WithMany().Map(x => x.MapKey("idPerson"));
或者沃特弗

我是新来的,有什么错误,很抱歉

有人能帮我吗