我在 asp.net core v3.1 中运行它
我的问题类似于这个问题:
How to use Linq to check if a list of strings contains any string in a list
与与第一个答案有关的具体问题,使得
filterTags = ["abc", "cd", "efg"]
var results = db.People
.Where(p => filterTags.Any(tag => p.Tags.Contains(tag)));
所以基本上说
给我来自所有 People
who's Tags 字段的数据库的结果包含任何 filterTags
其中标签 = 由一堆空格分隔的标签填充的大文本字段
这看起来很简单(尤其是因为之前已经写过)
但我得到了一个错误
System.InvalidOperationException:无法翻译 LINQ 表达式“DbSet .Where(p => __filterTags_0 .Any(tag => p.Tags.Contains(tag)))”。以可翻译的形式重写查询,或通过插入对 AsEnumerable()、AsAsyncEnumerable()、ToList() 或 ToListAsync() 的调用显式切换到客户端评估
有谁知道这意味着什么或我做错了什么?