【问题标题】:NHibernate QueryOver for superclass onlyNHibernate QueryOver 仅适用于超类
【发布时间】:2012-07-01 00:58:46
【问题描述】:

我现在正在与 NHibernate 和 Table-per-class 继承作斗争。

我有一个基类(我们称之为 Base)和 10 个派生类。有时我只想查询 Base 类,而不需要对子类进行左外连接。

var query = dao.CurrentSession.QueryOver<Base>()
   .JoinQueryOver(b => b.Property)
   .Where(p => p.FirstName == "Max")
   .Select(a => a.Id).Take(10);

我得到的是 sql 查询中有很多我并不真正需要的“左外连接”,它也降低了查询的性能。

在这种情况下是否有可能摆脱多态性?有什么方法可以改变继承模型并从其他不在层次结构中的类派生基类?

【问题讨论】:

    标签: nhibernate polymorphism queryover superclass


    【解决方案1】:

    在您的基本映射文件中,设置以下内容:

    polymorphism=”explicit”
    

    【讨论】:

      猜你喜欢
      • 2013-04-26
      • 1970-01-01
      • 2011-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多