C# DynamicLinq where 子句与 Any()

Dal*_*ler 5 c# linq dynamic-linq

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

query = db.Customers.Where("Categories.Any(Code == 'Retail')");
Run Code Online (Sandbox Code Playgroud)

客户实体具有类别集合

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

class Category
{
    public Guid Id {get;set;}
    public string Code {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

谁能告诉我有没有可能做这样的事情?

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

我正在使用 Telerik DataAccess。

Iva*_*oev 5

只要您遵循表达式语言规则,就可以了。

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

query = db.Customers.Where("Categories.Any(Code == \"Retail\")");
Run Code Online (Sandbox Code Playgroud)