【问题标题】:Fluent NHibernate One-To-One with only one foreign column流利的 NHibernate 一对一只有一个外国列
【发布时间】:2014-06-18 19:26:12
【问题描述】:

我的数据库中有 2 个一对一的表,其中只有一个具有另一个表的外键。 这是我所拥有的示例

表 1:容器
- 身份(PK)

表 2:项目
- 身份证(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 完成呢?

谢谢!

【问题讨论】:

    标签: c# sql nhibernate fluent-nhibernate nhibernate-mapping


    【解决方案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/

    【讨论】:

    • 是否可以将我的示例模型和数据库映射成一对一的样子?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    相关资源
    最近更新 更多