Sto seguendo i suggerimenti here, cercando di sfruttare l'affermazione che lo sql non viene creato fino a quando l'enumeratore non viene attivato. Tuttavia ottengo il seguente errore sul codice qui sotto. Sto usando Linq2Entities, non linq2sql. C'è un modo per farlo in Linq2entities?Linq SqlMethods.Like non riesce
Il metodo 'Boolean Like (System.String, System.String)' non può essere utilizzato sul client; è solo per la traduzione in SQL.
query = db.MyTables.Where(x => astringvar.Contains(x.Field1));
if (!String.IsNullOrEmpty(typeFilter))
{
if (typeFilter.Contains('*'))
{
typeFilter = typeFilter.Replace('*', '%');
query = query.Where(x=> SqlMethods.Like(x.Type, typeFilter));
}
else
{
query = query.Where(x => x.Type == typeFilter);
}
}
Note: db è un'entità che esegue il mapping su un server SQL.
Questo non può essere compilato sulla mia (anche l'aggiunta del + mancante). Sono in vs2008, .net 3.5 sp1 –
Non importa, deve andare specificamente direttamente alla tabella, non più tardi. Grazie. –
Ora non è possibile risolvere "FieldName" nello scope o nel contesto corrente. –