Есть ли способ параметризации метода в запросе linq?

В моем приложении с Linq to SQL пользователь может искать текст. Звездочка (*) может использоваться в начале и / или конце поискового выражения. Код сейчас такой:

var search = SearchTextBox.Text.Trim();
bool filterStartsWith = false, filterEndsWith = false;
if (!string.IsNullOrEmpty(search))
{
    filterStartsWith = search.EndsWith("*");
    filterEndsWith = search.StartsWith("*");
    if (filterStartsWith) search = search.Substring(0, search.Length - 1);
    if (filterEndsWith) search = search.Substring(1);

    if (filterStartsWith)
    {
        if (filterEndsWith)
        {
            query = query.Where(item => item.Omschrijving.Contains(search));
        }
        else
        {
            query = query.Where(item => item.Omschrijving.StartsWith(search));
        }
    }
    else
    {
        if (filterEndsWith)
        {
            query = query.Where(item => item.Omschrijving.EndsWith(search));
        }
        else
        {
            query = query.Where(item => item.Omschrijving == search);
        }
    }
}

Однако я хочу обобщить это, потому что этот вид поиска происходит в большем количестве мест. Кроме того, в некоторых таблицах это должно происходить в нескольких столбцах. Есть идеи?

Я использую Visual Studio 2010 с .NET Framework 4.0.

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

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