选择子句问题中的动态列
Posted
技术标签:
【中文标题】选择子句问题中的动态列【英文标题】:Dynamic Column in Select Clause Issue 【发布时间】:2015-11-16 02:58:44 【问题描述】:我正在使用System.Linq.Dynamic
,这是我的代码:-
using System.Linq.Dynamic;
string para = "Cat";
var paraData = ctx.tblEmployee.Where("id=6").Select("new(" + para + ")");
string value = paraData;
在上面的代码中,我没有得到value
,但我得到了一个sql查询字符串。
如何获取动态列的值?
【问题讨论】:
你为什么不用 Dapper 之类的东西来执行查询字符串? 【参考方案1】:using System.Linq.Dynamic;
string para = "Cat";
var paraData = (IEnumerable<string>)ctx.tblEmployee.Where("id=6").Select(para);
string value = paraData.FirstOrDefault();
要使用动态表达式的结果,您必须转换结果。结果是一个列表(不是真的,而是 IQueryable- 或 IEnumerable- 集合,即使结果仅包含一项。 如果没有员工的 id 为 6,则要获得一个 Item,您必须附加 First() 或更好的 FirstOrDefault() 以防止异常。
【讨论】:
以上是关于选择子句问题中的动态列的主要内容,如果未能解决你的问题,请参考以下文章