2009-02-11 32 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)");