繁体   English   中英

使用字符串列表进行实体框架过滤

[英]Entity Framework Filtering with a List of String

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

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中动态查询?

提前致谢。

这在Linq中有点不同,反之亦然

使用.Contains()

像这样的东西:

from r in db.entries
where filters.contains (r.word.substring(0,1))

你应该能够这样做:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM