Wildcards Entity Framework i Linq

Czy jest możliwe skonstruowanie prawidłowego zapytania Linq zawierającego znaki wieloznaczne?

Widziałem różne odpowiedzi na to pytanie, które sugerują użycie:

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

LUB konstruowanie 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));

Pierwsze rozwiązanie nie zadziałałoby, gdyby symbol wieloznaczny nie znajdował się na początku lub na końcu łańcucha, na przykładsearchTerm = "Foo%Bar".

Drugie rozwiązanie, korzystające z RawSql, nie pasuje do mnie i wygląda na tanie wyjście. Ale to działa.

Trzecią opcją, którą muszę jeszcze wypróbować, jest stworzenie czegoś, co może przeanalizować wyszukiwane hasło i skonstruować poprawne zapytanie Linq, co jest czymś, na co @Slauma miał dostęp w linku 2 poniżej. Ale to nadal nie zadziałałoby, gdyby symbol wieloznaczny nie znajdował się na początku lub na końcu wyszukiwanego hasła.

Więc pytanie: Czy możliwe jest skonstruowanie prawidłowego zapytania Linq zawierającego znaki wieloznaczne?

EDYCJA: Warto wspomnieć, że w tej instancji używają Oracle Data Access Components (ODAC / ODP), ale nie sądzę, aby w tym przypadku miało to duże znaczenie.

spinki do mankietów:

1„Podobne” zapytania w Entity Framework

2.wyszukiwanie dokładne i wieloznaczne uzależnione od wyszukiwanego hasła

3.Używanie RawSql

questionAnswers(3)

yourAnswerToTheQuestion