如何正确实现字符串比较?请参阅下面我的代码。注释掉的代码 有效,但我需要忽略这种情况。我收到错误消息:“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;
}
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