Mam funkcję .Net, która akceptuje 3 parametry, wszystkie opcjonalne. Coś takiego:Linq z opcjonalnymi opcjami WHERE
public List<MyObject> Search(string colour, string size, string name)
{
var result = (from c in MyTable where .... select c).ToList();
}
Moje pytanie brzmi, co jest najlepszym sposobem, aby zrobić where
część. Czy najlepiej byłoby stworzyć dynamiczny linq? Jaki jest najlepszy wzór w linq, aby mieć opcjonalne parametry?
Więc w SQL, coś takiego:
SELECT *
FROM MyTable
WHERE (@colour <> '' AND colour = @colour)
AND (@size <> '' AND size = @size)
AND (@name <> '' AND name = @name)
Ale mam nadzieję, że tam schludniejszy, bardziej akceptowalnego wzorca dla tej operacji w ciągu LINQ.
Można użyć 'Expression's lub niektóre 3. części biblioteki dynamicznej Linq. –