2009-10-23 29 views
0

鑑於下面的表格結構,您如何僅用nhibernate投影x和y?你如何列出結果,結果列表的類型是什麼?如何只投影兩列並列出它們? (Nhibernate)

//Table structure, mapped in the traditional way 
FunnyTable { 
      x [int] NOT NULL, 
      y [int] NULL, 
      z [int] NOT NULL 
      } 

//assume criteria is set somewhere else 
ProjectionList list = Projections.ProjectionList() 
           .Add(Projections.Property("x")) 
           .Add(Projections.Property("y")); 
return criteria.SetProjection(list).List<???>?? 

回答

4

它將返回一個列表,其元素爲object[];數組中的每個元素都是投影屬性的值。

您可以使用,而不是結果的變壓器,結果一類映射:

criteria.SetResultTransformer(Transformers.AliasToBean(typeof (MyResult))); 

上述假設你有一個MyResult類,其屬性名符合您所指定的屬性的名稱(或別名)投影。