У меня есть .Net-функция, которая принимает 3 параметра, все необязательные. Что-то вроде этого:Linq с опциями WHERE
public List<MyObject> Search(string colour, string size, string name)
{
var result = (from c in MyTable where .... select c).ToList();
}
Мой вопрос, что это лучший способ сделать where
часть. Лучше всего было бы создать динамический linq? Каков наилучший шаблон, в linq, чтобы иметь необязательные параметры?
Так, в SQL, что-то вроде этого:
SELECT *
FROM MyTable
WHERE (@colour <> '' AND colour = @colour)
AND (@size <> '' AND size = @size)
AND (@name <> '' AND name = @name)
Но я надеюсь, там аккуратнее, более приемлемый образец для делать это в LINQ.
Вы можете использовать 'библиотеки Expression's или некоторые третьей часть Dynamic Linq. –