【问题标题】:Select using System.Linq.Dynamic使用 System.Linq.Dynamic 选择
【发布时间】:2018-03-22 11:27:21
【问题描述】:

我想从我的数据库中选择一个字段,例如

using (MyContext context = new MyContext() )
{
    MyClass x = context.MyTable.Where("Id =@0","O1").Select(" new MyClass(DatabaseField)").Cast<MyClass>().Single();
}

public class MyClass
{
    public string DatabaseField { get; set; }
}

但是这种方法不起作用,出现错误 System.Linq.Dynamic.ParseException: ''(' 预期的'。

【问题讨论】:

  • 我不认为你可以使用动态 linq 投射出这样的选择语句。

标签: c# sql entity-framework linq dynamic-linq


【解决方案1】:

试试这样:

var selectStatement = "new ( " + DatabaseField + ")";
var filtered = context.MyTable.Select(selectStatement);

【讨论】:

  • 已经尝试过了,但是得到 System.NotSupportedException: 'Unable to cast the type 'DynamicClass1' to type 'MyClass'。 LINQ to Entities 仅支持转换 EDM 基元或枚举类型
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
  • 2017-04-01
  • 2010-11-26
  • 1970-01-01
  • 1970-01-01
  • 2012-03-30
  • 2011-06-16
相关资源
最近更新 更多