Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Расширение метода Where 
:(
    Опции темы
Gregoryy
  Дата 8.6.2011, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 6.10.2007

Репутация: нет
Всего: 1



Есть у меня страница с панелью для фильтрации данных и грид для отображение их. Для оптимизации кода я хочу написать код для динамической генерации запроса. За основу взял вот это это. Тут конечно мне надо только идея генерация запроса. Но у меня возникла проблема с методами GreaterThanOrEqual и LessThanOrEqual. Я не могу понять как мне при создания объекта filter указать другие типы число и дата. Заранее спасибо!
PM MAIL ICQ   Вверх
v00d00
Дата 10.6.2011, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 28.12.2005

Репутация: нет
Всего: нет



Придется добавить в enum с типами операций пару значений на сервере, и в клиентском скрипте 

вот код для сервера

Код

public enum WhereOperation
    {
        [StringValue("eq")]
        Equal,
        [StringValue("ne")]
        NotEqual,
        [StringValue("g")]
        Greater,
        [StringValue("ge")]
        GreaterOrEqual,
        [StringValue("l")]
        Less,
        [StringValue("le")]
        LessOrEqual,
        [StringValue("cn")]
        Contains
    }


Далее по аналогии добавьте case в switch
Код

case WhereOperation.Greater:
                    Expression.GreaterThan(memberAccess,Expression.Constant(Int32.Parse(filter),typeof(Int32)))
                    break;


Теоретичесски этого должно хватить

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | LINQ (Language-Integrated Query) | Следующая тема »


 




[ Время генерации скрипта: 0.0585 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.