代码之家  ›  专栏  ›  技术社区  ›  Dan TheCodeJunkie

Nhibernate:将多对多关系映射为一对一

  •  2
  • Dan TheCodeJunkie  · 技术社区  · 16 年前

    我有两个项目A和B,它们是单向的一对一关系(A有一个B)

    问题是由于这个设置,我只能让NHibernate将这个映射为实体之间的多对多关系。有没有办法让实体之间有一对一的关系?

    我能想到的最好办法是让它有一个多对多的关系,然后在a实体上有两个属性一个返回一个B列表,满足映射,另一个非映射属性从列表中得到第一个B,以满足我的应用程序。

    2 回复  |  直到 16 年前
        1
  •  1
  •   James Gregory    16 年前

    你确定你是说一对一吗?我已经有很多人要求一对一的时候,他们 really mean many-to-one's

    总之,除了改变你的模式,最简单的事情就是你的建议;但是,为了使它更干净一些,可以将集合设置为私有的,这样就只公开获取第一个项的两个属性。你可以看到 various methods wiki .

        2
  •  0
  •   yfeldblum    16 年前

    join-table 具有 one-to-one 以各种方式映射。A 联接表 映射允许单个类跨多个具有一对一关系的表持久化。