[英]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.