C# Select子句问题中的动态列

C# Select子句问题中的动态列,c#,asp.net-mvc,linq,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; 在上面的代码中,我没有得到值,但结果得到了一个sql查询字符串 如何获取动态列的值?使用System.Linq.dynamic; us

我正在使用
System.Linq.Dynamic
,以下是我的代码:-

using System.Linq.Dynamic;
string para = "Cat";
var paraData = ctx.tblEmployee.Where("id=6").Select("new(" + para + ")");
string value = paraData;
在上面的代码中,我没有得到,但结果得到了一个sql查询字符串

如何获取动态列的值?

使用System.Linq.dynamic;
using System.Linq.Dynamic;
string para = "Cat";
var paraData = (IEnumerable<string>)ctx.tblEmployee.Where("id=6").Select(para);
string value = paraData.FirstOrDefault();
字符串para=“Cat”; var paraData=(IEnumerable)ctx.tblEmployee.Where(“id=6”).Select(para); 字符串值=paraData.FirstOrDefault();
要使用动态表达式的结果,必须强制转换结果。结果是一个列表(不是真的,而是IQueryable或IEnumerable)集合,即使结果只包含一个项。
如果没有id为6的员工,则要获取一个项目,必须附加First()或更好的FirstOrDefault(),以防止出现异常。

为什么不使用Dapper之类的命令执行查询字符串?