我需要搜索多个列(LearningModuleDesc 和 LearningModuleContent,它们使用下面的 || 语句工作),但我还需要搜索多个关键字。 .Net Core 2.2 和 EF Core 不支持包含 Contains 的字符串数组(如下例所示),但是一些关于我如何处理这个问题的指导会很棒。
string[] stringarray = new string[] { "mill", "smith" };
var results = _context.LearningModules
.Where(x => EF.Functions.Contains(x.LearningModuleDesc, stringarray)
|| EF.Functions.Contains(x.LearningModuleContent, stringarray)
);
最佳答案
如果我没理解错的话,你正在寻找这样的东西
var results = _context.LearningModules.Where(
x => stringarray.Any(t => x.LearningModuleDesc.Contains(t)) ||
stringarray.Any(t => x.LearningModuleContent.Contains(t)))
关于linq - EF.Functions.Contains 包括多个关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55230001/