2010-09-30 80 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