Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用动态Linq命名字段?_C#_Asp.net_Linq_Dynamic_Dynamic Linq - Fatal编程技术网

C# 如何使用动态Linq命名字段?

C# 如何使用动态Linq命名字段?,c#,asp.net,linq,dynamic,dynamic-linq,C#,Asp.net,Linq,Dynamic,Dynamic Linq,我有一个动态进行的大型查询,但我希望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

我有一个动态进行的大型查询,但我希望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'中不存在属性或字段'name'”


能做到这一点吗?

好的,我想好了,这就是我们需要的:

var v = db.items.Select("new (item_name as name,item_price as price)");
你也可以试试这个

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

您如何访问这些字段?v、 姓名s