c# - 选择子句问题中的动态列

标签 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查询字符串作为结果。

如何获取动态列的值?

最佳答案

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

要使用动态表达式的结果,您必须转换结果。结果是一个列表(实际上不是,而是 IQueryable 或 IEnumerable 集合,即使结果只包含一个项目。 要获得一个项目,您必须附加 First() 或更好的 FirstOrDefault() 以防止出现异常,如果没有员工的 ID 为 6。

关于c# - 选择子句问题中的动态列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32152611/

相关文章:

c# - ASP.Net Core 验证问题状态 - 绑定(bind)验证不返回问题详细信息

c# - 我如何使用 .MatchCase 和 .WholeWord?

asp.net-mvc - 为什么asp :ContentPlaceHolder on the title replaces the whole title?

c# - EF Code First 不为 ICollection<string> 生成表

c# - 为什么 is 或 as 运算符的左侧不允许使用 lambda 和匿名方法?

c# - 模拟测试中的标准输入

c# - LocalDB:更改 SQL Server 默认位置

asp.net-mvc - Silverlight 应用程序在 aspx 页面中运行,而不是在 MVC Razor View 中运行

c# - LINQ:多层次

c# - 使用 LINQ 旋转数据