|
Создать Linq выражение на основе параметров
|
|||
---|---|---|---|
#18+
Предположим есть класс Код: c# 1. 2. 3. 4. 5. 6.
Должен производится поиск по выбранным (пользователем) полям и методом. Т.е. скажем будет коллекция обьектов: Код: c# 1. 2. 3. 4. 5. 6.
Теперь надо как-то замаппить классы фильтра на собственно Linq Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Можно-ли это каким-то образом реализовать без тотального перебора каждого поля с каждым возможным методом? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 12:15 |
|
Создать Linq выражение на основе параметров
|
|||
---|---|---|---|
#18+
Lessyp, дык Expression ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 12:27 |
|
Создать Linq выражение на основе параметров
|
|||
---|---|---|---|
#18+
Lessyp, погуглите "шаблон проектирования спецификация в C#" ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 12:36 |
|
Создать Linq выражение на основе параметров
|
|||
---|---|---|---|
#18+
skyANAдык Expression я в курсе про них, как конкретно они мне тут помогут без полного перебора каждого поля с каждым оператором? Напишите тогда реализацию метода AddFilterToLinq для коллекции из двух филтров, где Name.Contains("abc") и Address.StartsWith("Ulitsa Lenina") ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 13:27 |
|
Создать Linq выражение на основе параметров
|
|||
---|---|---|---|
#18+
LessypНапишите тогда реализацию метода AddFilterToLinq для коллекции из двух филтров, где Name.Contains("abc") и Address.StartsWith("Ulitsa Lenina") Именно AddFilterToLinq? :) Вообще-то там пяток интерфейсов по хорошему надо реализовать, в том числе и Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 13:35 |
|
Создать Linq выражение на основе параметров
|
|||
---|---|---|---|
#18+
skyANAИменно AddFilterToLinq? :) Вообще-то там пяток интерфейсов по хорошему надо реализовать, в том числе и не надо интерфейсов, если вы знаете о чем говорите, то написать _реализацию_ указанного метода всего для двух входящих фильтров вам труда не составит ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 13:39 |
|
Создать Linq выражение на основе параметров
|
|||
---|---|---|---|
#18+
LessypskyANAИменно AddFilterToLinq? :) Вообще-то там пяток интерфейсов по хорошему надо реализовать, в том числе и не надо интерфейсов, если вы знаете о чем говорите, то написать _реализацию_ указанного метода всего для двух входящих фильтров вам труда не составит ;) Не составит, но позже. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 13:57 |
|
Создать Linq выражение на основе параметров
|
|||
---|---|---|---|
#18+
Вот пока доклад на тему настраиваемых фильтров: Построение уровня доступа к данным с использованием шаблона 'Спецификация' в приложениях на ASP.NET MVC . ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 14:09 |
|
Создать Linq выражение на основе параметров
|
|||
---|---|---|---|
#18+
Lessyp, недавно вспоминал, как динамически собрать условия для Linq выражения. сделали вот такой PredicateBuilder / вроде он есть в nuget пакетах. посмотри может подойдет тебе ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 14:16 |
|
Создать Linq выражение на основе параметров
|
|||
---|---|---|---|
#18+
Expressions есть еще вариант более монструозный, подойдет, если нужно сгенерить выражение 1 раз и потом его использовать: CSharpCodeProvider ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2018, 15:13 |
|
Создать Linq выражение на основе параметров
|
|||
---|---|---|---|
#18+
monstrUнедавно вспоминал, как динамически собрать условия для Linq выражения. сделали вот такой PredicateBuilder / вроде он есть в nuget пакетах. посмотри может подойдет тебе спасибо, посмотрю ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2018, 11:11 |
|
Создать Linq выражение на основе параметров
|
|||
---|---|---|---|
#18+
Lessypне надо интерфейсов, если вы знаете о чем говорите, то написать _реализацию_ указанного метода всего для двух входящих фильтров вам труда не составит ;) этих реализаций хоть попой ешь и на гитхабе и в нугетах, и обжёвано пережёвано 500 раз ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2018, 14:36 |
|
Создать Linq выражение на основе параметров
|
|||
---|---|---|---|
#18+
LessypМожно-ли это каким-то образом реализовать без тотального перебора каждого поля с каждым возможным методом? если я правильно понимаю вопрос, то нет. Функция должна соотносится с конкретным полем ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2018, 04:03 |
|
|
start [/forum/topic.php?fid=20&fpage=29&tid=1399321]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 9ms |
total: | 132ms |
0 / 0 |