.NET Core 2.2.0
Vorrei usare i caratteri jolly nella funzione Mi piace di EF Core
, ma non funziona come mi aspetto e ne ho letto in alcuni post (il miglior esempio qui )
Il mio codice:
List<string> list = new List<string>();
list.Add("Hi fransois");
list.Add("Hi francois");
list.Add("Hi françois");
List<string> testa = list.Where(a => EF.Functions.Like(a, "%francois%")).ToList(); // Results in 1 hit, as expected
List<string> testb = list.Where(b => EF.Functions.Like(b, "%françois%")).ToList(); // Results in 1 hit, as expected
List<string> testc = list.Where(c => EF.Functions.Like(c, "%fran[cç]ois%")).ToList(); // Results in 0 hits, EXPECTED: 2
Perché non funziona come previsto?
Sfortunatamente sembra che questo non funzionerà. Ma c'è una soluzione alternativa usando Regex:
Regex regex = new Regex("fran[cç]ois");
List<string> testd = list.Where(d => regex.IsMatch(d)).ToList();
Questo funziona