SingleOrDefault e IgnoreCase

domenica 13 marzo 2011 - 08.41
Tag Elenco Tags  C#  |  .NET 3.5  |  Visual Studio 2008  |  Oracle 10g

volperubbia Profilo | Senior Member

Ciao a tutti,
sapete come rendere la chiamata SingleOrDefault case non sensitive?

Prove:
User U1 = Context.Of<User>().SingleOrDefault(x => x.Name.Equals("pippo", StringComparison.InvariantCultureIgnoreCase));
User U2 = Context.Of<User>().SingleOrDefault(x => x.Name.Equals("PippO", StringComparison.InvariantCultureIgnoreCase));
User U3 = Context.Of<User>().SingleOrDefault(x => x.Name.ToLower() == "PippO".ToLower());
User U4 = Context.Of<User>().SingleOrDefault(x => (string.Compare(x.Name, "PippO", true) == 0));

U1 è ok, mentre U2 è null.

Su U3 e U4 in esecuzione ho rispettivamente i seguenti errori:
- Index non compreso nell'intervallo. Richiesto valore non negativo e minore della dimensione dell'insieme. Nome parametro: index.
- Impossibile utilizzare un'espressione di tipo 'System.Int32' per un tipo restituito 'System.Boolean'.

Qualche idea?

Grazie per l'attenzione,
Davide

alx_81 Profilo | Guru

ciao

>Qualche idea?
a me U3 sembra corretta.. Se vuoi provare a passarmi qualcosa in più..

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5