Filter это подобие LINQ - он находит QueryProvider от исходного списка и передает выражение ему. Т.е. работа зависит от того, что за список.
Если исходный список взят из таблички, то он делает Query и передает работу ему.
В отличие от LINQ есть статическая валидация того, что условие может быть транслировано в Query
Если исходный список взят из модели данных, он пытается сначала сделать query, но если не получается, молча деградирует до where. Последнее сделать чтобы похзволить менять model mapping и format mapping продолжил работать.
Сейчас я думаю, что логичей было не делать новую функцию для кажого случая использования (у нас уже две таких) а сделать одну общую.
Query(Where(список, условие))
|