与NHibernate的期货配方

时间:2012-06-19 17:15:08

标签: hibernate nhibernate fluent-nhibernate future

我有一个实体,其属性定义为公式

public class Entity {

  protected virtual int MyFormula1 { get; set;}
  protected virtual int MyFormula2  {get; set;}

  public class EntityMap : ClassMap<Entity>
  {
     //.... other property mappings

     Map(x => x.MyFormula1).LazyLoad().Formula("<sql statement>");
     Map(x => x.MyFormula2).LazyLoad().Formula("<sql statement>");
  }
}

where sql statement is of the order select count(*) from OtherEntity where ...

我已将两个属性MyFormula1MyFormula2明确标记为 Lazy ,因为我不希望每次加载Entity实例时都计算它们。

但是,当我使用Future加载实体列表(使用条件)时,会触发单独的SQL以获取上述公式值即使条件

.setFetchMode("this.MyFormula1", FetchMode.Eager)
.setFetchMode("this.MyFormula2", FetchMode.Eager)

我的问题是在这些情况下:如何在一个批次中加载这些属性 使用期货?

在单个数据库调用中

0 个答案:

没有答案