代码之家  ›  专栏  ›  技术社区  ›  Aaron Fischer

如何在NHibernate中处理具有唯一字段的引用类

  •  0
  • Aaron Fischer  · 技术社区  · 15 年前

    我正在使用NHibernate,需要更新/添加一个实体类(a),该实体类可以引用另一个实体类(b),该实体类需要具有唯一的“名称”字段。

    • 创建存储过程以处理此更新/插入逻辑。
    1 回复  |  直到 15 年前
        1
  •  1
  •   NT_    15 年前

    事实上,我早就考虑过这种情况,并尝试过一些事情。

    首先,我不太喜欢存储过程,如果你想将自己绑定到一个特定的DB引擎,为什么要使用NHibernate呢。在这种情况下,存储的过程(选项2)的行为非常类似于选项1和3,具体取决于过程的实现(即,是先查询然后保存,还是使用回滚执行更复杂的事务)。所以,除非你另有打算,否则我不会对这一点作进一步评论。

    您可以使用选项1,但这需要您作为程序员做更多的工作。这对于1-2个实体来说可能很好,但是您是否可以将其推广到您的所有实体,这是未知的,因为我不知道您的项目的细节。此外,为什么查询NHibernate是否可以为您做这件事?

    所以我会推荐选项3,我更喜欢它,它对我来说非常好。