nHibernate连接别名投射一些字段

时间:2015-06-22 16:02:56

标签: nhibernate

我在nHibernate中有以下查询,它的效果非常好。

Table1 table1Alias = null;
Table2 table2Alias = null;
Table3 table3Alias = null;
Table4 table4Alias = null;
Table5 table5Alias = null;
Table6 table6Alias = null;

var resultTable = session.QueryOver<Table1>()
               .JoinAlias(x => x.Table2, () => table2Alias, NHibernate.SqlCommand.JoinType.LeftOuterJoin)
               .JoinAlias(() => table2Alias.Table3, () => itemDesctable3AliasriptionAlias, NHibernate.SqlCommand.JoinType.LeftOuterJoin)
               .JoinAlias(() => table2Alias.Table4, () => table4Alias, NHibernate.SqlCommand.JoinType.LeftOuterJoin)
               .JoinAlias(x => x.Table5, () => table5Alias, NHibernate.SqlCommand.JoinType.LeftOuterJoin)
               .JoinAlias(() => table5Alias.Table6, () => table6Alias, NHibernate.SqlCommand.JoinType.LeftOuterJoin)                                             
               .Where(x => x.Id == inputId)
               .TransformUsing(Transformers.DistinctRootEntity)
               .SingleOrDefault();

问题是,我怀疑我会遇到性能问题,因为 有些表格有很多列。

所以这就是问题,假设我只需要“表5”中的1个字段,但是 从表的其余部分开始,我是否必须对所有表进行手动预测?或者有没有办法只对一张桌子进行手动投影,但剩下的就是原样?

0 个答案:

没有答案