选择子句问题中的动态列

时间:2015-08-22 05:20:25

标签: c# asp.net-mvc linq

我正在使用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查询字符串。

如何获取动态列的值?

1 个答案:

答案 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。