【发布时间】:2016-06-27 06:38:20
【问题描述】:
我正在使用实体框架查询一个表。第一段代码是我写的,第二段是 ReSharper 建议我重构的。如果键不存在,第一个优雅地返回 null,但第二个抛出异常。
尝试使用表中的 0-1 条记录(所有列都标记为 NOT NULL)
有效的代码:
context.brandlink.FirstOrDefault(x => x.ManufacturerKey.ToLower() == manufacturerKey.ToLower());
以及不起作用的代码:
context.brandlink.FirstOrDefault(x => String.Equals(x.ManufacturerKey, manufacturerKey, StringComparison.InvariantCultureIgnoreCase));
抛出异常:
为调用“Boolean”方法提供的参数数量不正确 等于(System.String, System.String, System.StringComparison)'
所以我的问题是:这两个表达式有什么区别?
【问题讨论】:
标签: c# entity-framework string-comparison