2009-02-11 58 views
4

我有一个巨大的动态查询,但我希望select语句不输出列名称,buut自定义值。举例来说,如果我做一个正常的Linq查询,我可以做这样的事情:如何使用Dynamic Linq命名字段?

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

,这将给我的好“名称”和“价格”访问器

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

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

工作正常,但

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

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

可以这样做吗?

回答

4

ok了,想通了,这威斯康星需要的是什么:

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

如何访问这些字段? V.NAME? :s – Cem 2009-12-17 12:58:22

1

你也可以试试这个。

var v = db.items.Select("new(it[\"item_name\"] as name,it[\"item_price\"] as price)");