#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);