Entity Framework comodines y Linq

¿Es posible construir una consulta Linq válida que contenga caracteres comodín?

He visto varias respuestas a esta pregunta que sugieren usar:

.Where(entity => entity.Name.Contains("FooBar"))
.Where(entity => entity.Name.EndsWith("Bar")) 
.Where(entity => entity.Name.StartsWith("Foo"))

O construyendo RawSql:

var commandText =
    @"SELECT field
    FROM     table
    WHERE    field LIKE @search";

var query = new ObjectQuery<Profile>(commandText, context);
query.Parameters.Add(new ObjectParameter("search", wildcardSearch));

La primera solución no funcionaría si el comodín no estuviera al principio o al final de una cadena, por ejemplo,searchTerm = "Foo%Bar".

La segunda solución, utilizando RawSql, no me sienta bien y se siente como una salida barata. Pero funciona.

La tercera opción que todavía tengo que probar es crear algo que pueda analizar el término de búsqueda y construir una consulta de Linq válida, que es algo que @Slauma tuvo que ver en el enlace 2 a continuación. Pero esto aún no funcionaría si el comodín no estuviera al principio o al final del término de búsqueda.

Entonces, la pregunta: ¿es posible construir una consulta Linq válida que contenga caracteres comodín?

EDITAR: Vale la pena mencionar que en este caso estoy usando componentes de acceso a datos de Oracle (ODAC / ODP), pero no creo que haga mucha diferencia en este caso.

campo de golf:

1.Consultas "me gusta" en Entity Framework

2.Búsqueda exacta y comodín condicional en el término de búsqueda

3.Usando RawSql

Respuestas a la pregunta(3)

Su respuesta a la pregunta