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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> LINQ to SQL условие between, условие Where date between @dt1 and @dt2 
V
    Опции темы
Roha
Дата 13.4.2010, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Всем привет!
Нужна помощь в составлении LINQ to SQL - запроса типа:
Код

SELECT * FROM Table WHERE [date] BETWEEN @date1 and @date2

На MSDN пока ничего не нашел, буду благодарен любой информации по данной теме.
PM MAIL   Вверх
KelTron
Дата 13.4.2010, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Аналога between нет, так что придётся обычным сравнение делать.
Код

Table.Where(t => t.date >= date1 && t.date <= date2);



--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
Roha
Дата 14.4.2010, 07:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Понятно, а так хотелось.
PM MAIL   Вверх
Ram1reS
Дата 14.4.2010, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 25.4.2008
Где: Москва

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



Можно попытаться что-нибудь этакое сделать:
Код

static class ExtensionMethods
    {
        public static IEnumerable<T> Between<T>( this IEnumerable<T> collection, T left, T right ) where T : IComparable<T>
        {
            return collection.Where( item => item.CompareTo( left ) >= 0 && item.CompareTo( right ) <= 0 );
        }
    }

    class Program
    {
        static void Main( string[] args )
        {
            DateTime[] dateTimes = new DateTime[] { new DateTime(2001,1,1),
                                                    new DateTime(2002,1,1),
                                                    new DateTime(2003,1,1),
                                                    new DateTime(2004,1,1),
                                                    new DateTime(2005,1,1),
                                                    new DateTime(2006,1,1),
                                                    new DateTime(2007,1,1),
                                                    new DateTime(2008,1,1),
                                                    new DateTime(2009,1,1),
                                                    new DateTime(2010,1,1),};

            DateTime minDateTime = new DateTime( 2004, 1, 1 );
            DateTime maxDateTime = new DateTime( 2008, 12, 30 );

            DateTime[] result = dateTimes.Between( minDateTime, maxDateTime ).ToArray();

            foreach ( var dt in result )
                Console.WriteLine( dt );
            
            Console.ReadLine();

        }

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


 




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


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

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