4

我有一个巨大的动态查询,但我希望选择语句不输出列名,而是自定义值。例如,如果我在做一个普通的 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)");

我收到一个错误: “类型‘项目’中不存在属性或字段‘名称’”

这可以做到吗?

4

2 回答 2

4

好的,想通了,这就是所需要的:

var v = db.items.Select("new (item_name as name,item_price as price)");
于 2009-02-11T08:05:09.587 回答
1

你也可以试试这个。

var v = db.items.Select("new(it[\"item_name\"]  as name,it[\"item_price\"] as price)"); 
于 2012-02-01T12:59:01.583 回答