我有以下系列(见图)。我想解析一下 名单。我试过NHibernate的“Transformers.AliasToBean”
像这样 var result = _session.CreateQuery(hql) .SetResultTransformer(Transformers.AliasToBean(typeof运算(OrderProduct))) .LIST();我收到以下错误:
在“EStore.Domain.Projection.OrderProduct”类中找不到属性“0”的setter
在这个阶段,我会满足于将其解析为List。我如何使用linq执行此操作?
public class OrderProduct
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Quantity { get; set; }
}
答案 0 :(得分:4)
要使用AliasToBean,您需要为选择列表显式指定别名:
select p.Id as Id,
p.Name as Name,
etc
答案 1 :(得分:1)
那样的东西不会起作用吗?
var test = from object[] line in results
select new OrderProduct()
{
Id = (int)line[0],
Name = (string)line[1],
Quantity = (decimal)line[2]
};