|
|
|
Entity Framework, построение фильтра.
|
|||
|---|---|---|---|
|
#18+
Подскажите, имеется ли какой то готовый класс для построения фильтров в Entity Framework? Я нашел ObjectQuery, но ему надо фактически писать строку запроса в виде текста. Может есть что то на подобии: SomeFilterBuilderClass<Customer> filter = new SomeFilterBuilderClass<Customer>(); filter.Where.AddAndCondition("Name", ConditionType.Equal, "Petrov"); filter.Where.AddAndCondition("Age", ConditionType.Greater, 25); filter.Where.AddOrCondition("Age", ConditionType.Lower, 10); ? Цель, иметь возможность написать метод: List<Customer> LoadCustomers(SomeFilterBuilderClass<Customer> filter); в бизнес слое или слое данных, а создавать фильтр уже так, как нужно из уровня пользовательского интерфейса (например на основании набора полей на форме для фильтрации)? Писать кучу методов в бизнес слое на подобии: List<Customer> LoadCustomersByName(string customerName); List<Customer> LoadCustomersByAge(int customerAge); List<Customer> LoadCustomersByNameAndAge(string customerName, int customerAge); как то не красиво и громоздко, а формировать запросы на уровне пользовательского интерфефса также как то не красиво. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 19:28 |
|
||
|
Entity Framework, построение фильтра.
|
|||
|---|---|---|---|
|
#18+
Ну не на подобии... это уже обсасывалось... Да и ваш метод не так уж и плох... Dynamically Composing Expression Predicates ? Плюс - сделайте свою реализацию или поищите готовый Repository. И вообще, что Вам мешает передавать в метод Load Expression? Да на форуме поищите... тут тоже много по этому поводу говорено. Вот затык тока если это сервисы... тогда либо критериа реализуем лапками либо (снова) п№;"?м гденить... А! тут малехо обсосали... Направление понятно?... ах да есть и другие ORM :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2010, 22:27 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=36676795&tid=1351262]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 378ms |

| 0 / 0 |
