我在解决可选的一对多关系问题时遇到了问题.
我的模型是:
public class Person
{
public int Identifier { get; set; }
...
public virtual Department Department { get; set; }
}
public class Department
{
public int Identifier { get; set; }
...
public virtual IList<Person> Members { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我想分配零或一个Department到Person.分配时,Person应显示在Members-List中Department.
我正在配置Person使用Fluent API,如下所示:
HasKey(p => p.Identifier);
HasOptional(p => p.Department).WithMany(d => d.Members);
Run Code Online (Sandbox Code Playgroud)
另外通过配置Department而不是Person:
HasMany(d => d.Members).WithOptional(p => p.Department);
Run Code Online (Sandbox Code Playgroud)
但是我用这两种方法得到了例外:
无法确定类型'Person'和'Department'之间关联的主要结束.必须使用关系流畅API或数据注释显式配置此关联的主要结尾.
当同时配置这两个时,我得到: …