Подстановочные знаки Entity Framework & Linq

Можно ли построить правильный запрос Linq, который содержит символы подстановки? I '

Мы видели разные ответы на этот вопрос, которые предлагают использовать:

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

ИЛИ создание RawSql:

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

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

Первое решение неt работает, если подстановочный знак не был в начале или конце строки, например,.searchTerm = "Foo%Bar"

Второе решение, использующее RawSql, нене сидеть рядом со мной и чувствует себя как дешевый выход. Но это работает.

Третий вариант, который мне еще предстоит опробовать, - это создать что-то, что сможет анализировать поисковый запрос и создать действительный запрос Linq, что @Slauma использовало в ссылке 2 ниже. Но это все равноне работает, если подстановочный знак не был в начале или в конце поискового запроса.

Итак, вопрос: возможно ли построить правильный запрос Linq, который содержит символы подстановки?

РЕДАКТИРОВАТЬ: Стоит отметить, что в этом случае я использую компоненты доступа к данным Oracle (ODAC / ODP), но я неНе думаю, что в этом случае есть большая разница.

ссылки по теме:

1. «лайк" запросы в Entity Framework

2.точный и групповой поиск при условии поиска

3.Использование RawSql

Ответы на вопрос(3)

Ваш ответ на вопрос