【发布时间】:2018-11-16 09:43:18
【问题描述】:
我正在尝试从包含列表中包含的任何字符串的数据库中选择所有字段(可以从用户那里填充)。 对我来说很容易用纯 SQL 用一句话来做
WHERE myfield LIKE '%nam%' OR myfield LIKE '%cod%' OR myfield LIKE '%big%'
但我需要使用 C# 和 Linq 来完成。我搜索了几个解决方案,其中一些建议我使用 .Any 或 .Contains 但我不知道如何应用于我的案例:-(
这是我能达到的最接近的结果:
var query = DataSource.Docs();
...
IList<string> nameFilter = new List<string>() {"nam", "cod", "big"};
query = query.Where(x => x.NomeFile.Contains(nameFilter.FirstOrDefault()));
无论如何,使用这个愚蠢的代码,我只过滤包含我列表的第一个元素的元素(FirstOrDefault 让忽略所有其他元素)
谁能帮我找到正确的方法?
【问题讨论】:
标签: c# database linq select filter