Исключение сравнения строк в Entity Framework FirstOrDefault
Я запрашиваю таблицу с помощью Entity Framework. Первый фрагмент кода - это то, что я написал, второй - то, что ReSharper предложил мне тоже реорганизовать. Первый изящно возвращает ноль, как и должно, если ключ не существует, но второй выдает исключение.
Это было сделано с 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 Equals (System.String, System.String, System.StringComparison)»
Итак, мой вопрос: в чем разница между двумя выражениями?