Sto interrogando una tabella utilizzando Entity Framework. Il primo bit di codice era ciò che scrivevo, il secondo era ciò che ReSharper suggeriva di rifattorizzare anche io. Il primo restituisce con grazia null come dovrebbe se la chiave non esiste, ma il secondo genera un'eccezione.Eccezione di confronto stringa all'interno di Entity Framework FirstOrDefault
Questo ha tentato di 0-1 record nella tabella (tutte le colonne sono contrassegnati come NOT NULL)
codice che funziona:
context.brandlink.FirstOrDefault(x => x.ManufacturerKey.ToLower() == manufacturerKey.ToLower());
e il codice che non funziona:
context.brandlink.FirstOrDefault(x => String.Equals(x.ManufacturerKey, manufacturerKey, StringComparison.InvariantCultureIgnoreCase));
Eccezione gettata:
Numero errato di argomenti forniti per la chiamata al metodo 'booleano Equals (System.String, System.String, System.StringComparison)'
Quindi la mia domanda è: qual è la differenza tra le due espressioni?