相关疑难解决方法(0)

LINQ包含不区分大小写

此代码区分大小写,如何使其不区分大小写?

public IQueryable<FACILITY_ITEM> GetFacilityItemRootByDescription(string description)
{
    return this.ObjectContext.FACILITY_ITEM.Where(fi => fi.DESCRIPTION.Contains(description));
}
Run Code Online (Sandbox Code Playgroud)

c# linq

168
推荐指数
7
解决办法
16万
查看次数

实体框架FirstOrDefault中的字符串比较异常

我正在使用Entity Framework查询表.第一部分代码是我写的,第二部分是ReSharper建议我也重构它.如果密钥不存在,第一个优雅地返回null,但第二个抛出异常.

尝试使用表中的0-1记录(所有列都标记为NOT NULL)

有效的代码:

context.brandlink.FirstOrDefault(x => x.ManufacturerKey.ToLower() == manufacturerKey.ToLower());
Run Code Online (Sandbox Code Playgroud)

和不起作用的代码:

context.brandlink.FirstOrDefault(x => String.Equals(x.ManufacturerKey, manufacturerKey, StringComparison.InvariantCultureIgnoreCase));
Run Code Online (Sandbox Code Playgroud)

抛出异常:

为调用方法'Boolean Equals(System.String,System.String,System.StringComparison)提供的参数数量不正确

所以我的问题是:这两个表达式有什么区别?

c# entity-framework string-comparison

5
推荐指数
1
解决办法
1426
查看次数

标签 统计

c# ×2

entity-framework ×1

linq ×1

string-comparison ×1