C# DynamicLinq where 子句与 Any()

标签 c# linq dynamic-linq

我想用这样的字符串 where 子句运行动态 linq:

query = db.Customers.Where("Categories.Any(Code == 'Retail')");

客户实体有类别集合

class Customer
{
    public List<Category> Categories {get;set;}
    ...
}

class Category
{
    public Guid Id {get;set;}
    public string Code {get;set;}
}

谁能告诉我是否可以做这样的事情?

PS: 我需要 where 子句是字符串。 where 子句将在运行时生成,因此我不能使用 Linq 查询表达式。

我正在使用 Telerik DataAccess。

最佳答案

只要关注Expression Language就有可能规则。

例如,字符串文字必须用双引号括起来:

query = db.Customers.Where("Categories.Any(Code == \"Retail\")");

关于C# DynamicLinq where 子句与 Any(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37740409/

相关文章:

c# - 动态 Linq 查询未按预期工作 - 我做错了什么?

c# - Dynamic Linq Where IN

c# - 在一对多 Entity Framework 关系中使用 Dynamic LINQ Where

c# - ASP.NET Core 托管的 Blazor 模板中的授权问题

c# - 使用 wsimport 导入 .net webservice 时出错

c# - 并非所有代码路径都返回值错误

c# - 如何将带有对象的字典转换为该类型的列表?

c# - 不能包含 Microsoft.Security.Application?

c# - 使用 Linq 进行数学统计

c# - 将 Linq 查询返回到 KeyValuePair 的列表中