c# - 如何使用 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,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)");

关于c# - 如何使用 Dynamic Linq 命名字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/535741/

相关文章:

c# - linq:ToDictionary 是否减少了返回的列数?

c# - 我可以将集合初始值设定项与 LINQ 一起使用以返回完全填充的集合吗?

c# - 将日期导出到 Csv 并告诉 excel 格式

c# - 数组移位/错误索引/i = [x+y*size+z*size*size]

c# - 如何添加营业时间?

javascript - 使网页固定且不可缩放

c# - 使用 LINQ 覆盖或忽略 C# 中未声明的实体

c# - "The process can not access the file ' ... ' because it is being used by another process"重新创建临时文件以使用 FtpWebRequest 上传

c# - 在 ajax 调用中从 javascript 引发服务器端按钮单击事件

c# - 将下拉列表和文本框中的值插入数据库