voglio cercare questo:Linq to Entities (EF 4.1): Come eseguire un SQL LIKE con un carattere jolly nel mezzo ('% term% term%')?
Post Cereal
e ottenere questo:
Post Honey Nut Cereal
in cui le wild card sarebbero gli spazi.
So che potrei fare uno SPLIT e una serie di ANDs e Contains() e la traduzione in un'espressione Linq per ogni termine come un oggetto di specifica, ma non c'è un modo per onorare i caratteri jolly nel termine inviato a SQL ? Ho esaminato le funzioni SQL in cui è in Linq to SQL, ma non sono sicuro di cosa sia in Linq alle entità.
mi piacerebbe fare qualcosa di simile:
term = '%' + term.Replace(' ', '%') + '%';
db.table.where(p => System.Data.Objects.SqlClient.SqlFunctions
.SqlMethods.Like(p.fieldname, term));
Qualche suggerimento?
Questo merita più voti. Questo ha funzionato perfettamente per me senza molta complessità. –
Dr. Zim ha ragione, è stato alla ricerca di una soluzione per diverse ore e questo è di gran lunga il più semplice che ho trovato. – user1841243
Ho provato questo in .NET e direttamente in TSQL e nessuno dei due modi ha funzionato per me. L'utilizzo di EF 5, .NET 4.5 e VS 2012 – Matt