comparisonType: OrdinalIgnoreCase))' 无法翻译

问题描述 投票:0回答:1

如何正确实现字符串比较?请参阅下面我的代码。注释掉的代码 有效,但我需要忽略这种情况。我收到错误消息:“comparisonType: OrdinalIgnoreCase))' 无法翻译。”

public async Task<List<MyClass>> GetMyTaskAsync(string? str)
{   
    var myVar = await (from e in _whDbContext.PluralizedMyClass
                               //where e.MyCol == str                                  
                               where string.Equals(str,e.MyCol.ToString(), StringComparison.OrdinalIgnoreCase)
                               select e).ToListAsync();

    return myVar;
}
c# linq
1个回答
0
投票
public async Task<List<MyClass>> GetMyTaskAsync(string? str)
{   
    var myVar = await (from e in _whDbContext.PluralizedMyClass
                       where str == null || EF.Functions.Like(e.MyCol, str)
                       select e).ToListAsync();

    return myVar;
}

StringComparison.OrdinalIgnoreCase
导致了该问题,因为 Entity Framework Core (EF Core) 不支持翻译
string.Equals

© www.soinside.com 2019 - 2024. All rights reserved.