c# - 使用字符串列表过滤 Entity Framework

标签 c# linq entity-framework

我想根据字符串列表过滤结果,像这样:

List<string> filters = {"a", "b", "c", "d"};
var results = (from R in db.Entries 
               where R.word.StartsWith(filters[0])
               ||R.word.StartsWith(filters[1])
               ||R.word.StartsWith(filters[2])
               ||...

我不知道我的过滤器列表的长度,所以如何在 LINQ 中动态查询它?

提前致谢。

最佳答案

你应该可以这样做:

var results = db.Entries 
    .Where(r => filters.Any(f => r.word.StartsWith(f)));

扩展方法Any是一种将应用于列表的 OR || 链“折叠”到单个调用中的方法。

关于c# - 使用字符串列表过滤 Entity Framework ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29316504/

相关文章:

c# - 定义集合元素的 LINQ 语句问题

c# - 使用 LINQ to XML 生成 xml

linq - 在多层应用程序中,是否应该允许客户端将自己的 linq 表达式发送到服务器?

java - Hibernate:没有实体类的外键,只能通过id

entity-framework - 同一实体上的 Entity Framework 一对多关系

c# - 局部 View 每 5 秒在服务器上调用一个方法 - 页面本身不需要更改

c# - 获取在数组中的文本框中输入的数字

c# - 使用数据注释的 WPF MVVM 验证

entity-framework - Entity Framework 中的自引用/父子关系

c# - 在另一个表单 [C#] 上插入详细信息后,DataGridView 不更新