2010-09-30 77 views
0

我有以下集合(请参见图像)。我希望解析成 列表。我曾尝试NHibernate的 “Transformers.AliasToBean”解析动态集合

像这样 VAR的结果= _session.CreateQuery(HQL) .SetResultTransformer(Transformers.AliasToBean(typeof运算(OrderProduct))) 的.List();

芹苴,我发现了以下错误:

找不到一个二传手财产“0”类“EStore.Domain.Projection.OrderProduct”

在这个阶段,我会满足于只解析成列表。我如何用linq做到这一点? alt text

public class OrderProduct 
    { 
     public int Id { get; set; } 
     public string Name { get; set; } 
     public decimal Quantity { get; set; } 
    } 

回答

1

会不会有这样的工作?

 var test = from object[] line in results 
        select new OrderProduct() 
        { 
         Id = (int)line[0], 
         Name = (string)line[1], 
         Quantity = (decimal)line[2] 
        }; 
4

为了使用AliasToBean,你需要明确指定别名选择列表:

select p.Id as Id, 
     p.Name as Name, 
     etc