LINQ-to-Entities Array.Contains 不服从排序规则

本文关键字:排序 规则 不服从 Contains Array LINQ-to-Entities | 更新日期: 2023-09-27 18:35:07

我在SQL Azure列上有一个不区分大小写和不区分重音的排序规则。例如,我有以下字段:

sampleşAmpleSAMPLE .

在SQL Server Management Studio中,如果我查询where field = 'Sample',我会得到所有字段。在实体框架中,我有一个令牌数组,例如:

var array = new string[]{ "sampLe", "somethingelse", "anotherhing"] };

我正在尝试在我的数据库中搜索与此数组中的项目匹配的任何字段。数组不是一个大数组,它通常只包含一个项目,在最坏的情况下由五个项目组成。我正在使用:

var existingTags = await db.Tags.Where(x => array.Contains(x.Tag)).ToListAsync();

我希望此查询从数据库中返回所有"样本",但它不匹配。为什么?

LINQ-to-Entities Array.Contains 不服从排序规则

当我进一步调查这个问题时,这不是 EF 问题,返回的结果实际上是正确的,事实证明这是我自己的编程问题。