我的数据库中有2个一对一表,其中只有一个表有另一个表的外键。 这是我所拥有的一个例子
表1:容器
- Id(PK)
表2:项目
- Id(PK)
- ContainerId(FK)
我可以将他们的关系配置为一对一,以便映射以下模型:
public class Container{
public virtual int Id {get;set;}
public virtual Item Item {get;set;}
}
public class Item{
public virtual int Id {get;set;}
public virtual Container {get;set;}
}
我可以将 Item 配置为拥有一个 Container,,因为它有明确的列,但是如何为 Container 完成?
谢谢!
答案 0 :(得分:1)
这不是真正的一对一关系。两个主键中的两个主键必须相同才能成为一对一。 Container.Id!= Item.Id.这是many-to-one
。
在您的项目映射中,您将拥有以下内容:
Id(x => x.Id);
References(x => x.Container);
您的Container
映射会类似。
http://www.jagregory.com/writings/i-think-you-mean-a-many-to-one-sir/