动态列在选择子句问题

本文关键字:子句 问题 选择 动态 | 更新日期: 2023-09-27 18:09:07

我使用的是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查询字符串作为结果。

如何获取动态列的值?

动态列在选择子句问题

using System.Linq.Dynamic;
string para = "Cat";
var paraData = (IEnumerable<string>)ctx.tblEmployee.Where("id=6").Select(para);
string value = paraData.FirstOrDefault();

要处理来自动态表达式的结果,必须强制转换结果。结果是一个List(不是真正的List,而是IQueryable-或IEnumerable- Collection),即使结果只包含一个项目。要获得一个Item,您必须附加First()或更好的FirstOrDefault()以防止异常,如果没有员工具有id 6。