我正在使用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查询字符串。
如何获取动态列的值?
答案 0 :(得分:0)
using System.Linq.Dynamic;
string para = "Cat";
var paraData = (IEnumerable<string>)ctx.tblEmployee.Where("id=6").Select(para);
string value = paraData.FirstOrDefault();
要使用动态表达式的结果,必须转换结果。结果是List(不是真的,但IQueryable-或IEnumerable- Collection,即使结果只包含一个项目。 要获得一个项目,您必须附加First()或更好的FirstOrDefault()以防止异常,如果没有员工具有id 6。