如何使用Dynamic Linq命名字段?

Asked
Viewd1092

4

我有一个动态生成的巨大查询,但是我希望select语句不输出列名,而是增加自定义值。例如,如果我正在执行普通的Linq查询,则可以执行以下操作:

 var v = from p in db.items select new { name = p.item_name, price = p.item_price };
 

这将为我提供漂亮的“ .name”和“ .price”访问器

但是如果我使用的是Dyanmic Linq,我可以这样做:

 var v = db.items.Select("new (item_name,item_price)");
 

工作正常,但是

 var v = db.items.Select("new (name=item_name,price=item_price)");
 

我得到一个错误: “类型'item'中不存在属性或字段'名称'”

可以做到吗?

2 个答案

4

好,知道了,这就是需要的东西:

 var v = db.items.Select("new (item_name as name,item_price as price)");
 
  • how can you access to those fields? v.name? :s

    CemDecember 17, 2009 12:58