强制不区分大小写的String.Contains in Entity Framework Core

Sup*_*JMN 5 .net c# string case-insensitive entity-framework-core

有没有办法强制LINQ to SQL执行不区分大小写的包含?

我在Entity Framework Core上使用PostgreSQL.

提前致谢!

Nic*_*las -1

Entity Framework 7 中表和属性的名称不区分大小写

参考上面的答案,没有。没有办法在更低的水平上进一步进行载荷工况敏感性检查。你必须完全按照这个人所做的去做:

如何在 ef core 2 中使 contains 不区分大小写?

下面是最新 LINQ 语法的示例。

var tickerObj = _unitOfWork.GetRepository<CurrencyPair>()
                .GetQueryable()
                // .Where() and .Include() omitted for brevity
                .SingleOrDefault(cp => string.Concat(
                    cp.PartialCurrencyPairs.FirstOrDefault(pcp => pcp.IsMain).Currency.Abbrv,
                    cp.PartialCurrencyPairs.FirstOrDefault(pcp => !pcp.IsMain).Currency.Abbrv)
                    .Equals(ticker, StringComparison.InvariantCultureIgnoreCase)
                && cp.CurrencySource.Abbreviation.Equals(exchangeAbbrv, StringComparison.InvariantCultureIgnoreCase));
Run Code Online (Sandbox Code Playgroud)

重点关注 SingleOrDefault() 部分:

cp.CurrencySource.Abbreviation.Equals(exchangeAbbrv, StringComparison.InvariantCultureIgnoreCase)
Run Code Online (Sandbox Code Playgroud)