String-Vergleichsausnahme in Entity Framework FirstOrDefault

Ich frage eine Tabelle mit Entity Framework ab. Der erste Teil des Codes war das, was ich geschrieben habe, der zweite Teil war das, was ReSharper vorschlug, dass ich ihn auch überarbeite. Der erste gibt ordnungsgemäß null zurück, wenn der Schlüssel nicht vorhanden ist, der zweite löst jedoch eine Ausnahme aus.

Dies wurde mit 0-1 Datensätzen in der Tabelle versucht (alle Spalten sind als NOT NULL markiert)

Code, der funktioniert:

context.brandlink.FirstOrDefault(x => x.ManufacturerKey.ToLower() == manufacturerKey.ToLower());

und Code, der nicht funktioniert:

context.brandlink.FirstOrDefault(x => String.Equals(x.ManufacturerKey, manufacturerKey, StringComparison.InvariantCultureIgnoreCase));

Exception ausgelöst:

Inkorrekte Anzahl von Argumenten für den Aufruf der Methode 'Boolean Equals (System.String, System.String, System.StringComparison)'

Also meine Frage ist: Was ist der Unterschied zwischen den beiden Ausdrücken?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage