Сравнение двух дат в LINQ с SQL

#c# #.net #linq #linq-to-sql #date-comparison

#c# #.net #linq #linq-to-sql #сравнение дат

Вопрос:

У меня есть база данных с таблицей с именем meeting. Даты собраний хранятся в этой таблице в следующем формате: May 2nd 2011 (например) отформатированы как 5/2/2011 .

Мое требование состоит в том, чтобы получить встречи между двумя датами (скажем, 25.04.2011 и 25.05.2011) и написать запрос, сравнивающий дату с этими двумя датами. Сравнивается ли это как 25.04.2011 < 26.04.2011? Как происходит сравнение?

Я использую SQL Server 2008 и запросы LINQ к SQL.

Комментарии:

1. Вы хотите, чтобы это было сделано в SQL или на C # (учитывая, что вы используете Linq для SQL, это может быть сделано в любом месте).

2. Эти методы DateTime могут быть использованы в LINQ-to-SQL: msdn.microsoft.com/en-us/library/bb882657.aspx

Ответ №1:

Что-то вроде этого

 DateTime start = new DateTime("4/25/2011");
DateTime end = new DateTime("5/2/2011");
var result = db.Meeting.Where(d => d.MeetingDate >= start 
                 amp;amp; d.MeetingDate <= end);
  

Ответ №2:

Стиль запроса:

 from m in db.Meetings
where m.Start => start amp;amp; m.End <= end
select m;
  

Стиль метода:

 db.Meetings.Where(m => m.Start => start amp;amp; m.End <= end);