Quando si utilizza linq sull'entità, i confronti tra stringhe ignoreranno gli spazi bianchi.Linq a entità che confrontano le stringhe ignora gli spazi bianchi
Nella mia tabella ho una colonna nchar (10) in modo che qualsiasi dato salvato se non è di 10 caratteri riempirà il resto di spazi vuoti. Di seguito sto confrontando "ncharTextColumn" con la stringa "Four"
. E anche pensato che la ncharText sarà uguale "Four "
Essa si traduce in una partita e la variabile "risultato" conterrà 1 registro
TestEntities1 entity = new TestEntities1();
var result = entity.Table_1.Where(e => e.ncharText == "Four");
C'è una spiegazione per questo e un modo di lavorare intorno ad esso o sto andando ad avere per chiama ToList sulla mia domanda prima di qualsiasi controllo come questo.
var newList = result.ToList().Where(e => e.ncharText == "Four");
Questo codice ora restituisce correttamente 0 record poiché tiene conto degli spazi bianchi. Tuttavia, chiamare per elencare prima di un confronto può comportare il caricamento di una grande raccolta in memoria che non verrà utilizzata.
Non potresti semplicemente fare 'e.ncharText.Trim() ==" Quattro "'? –