Как использовать DateTime в предложении WHERE (LINQ)? - PullRequest
2 голосов
/ 17 июня 2009

Как добавить дату, где пункт. Я использую следующий код.

    var opportunites = from opp in this.DataContext.Opportunities
                            join org in this.DataContext.Organizations on opp.OrganizationID
                            equals org.OrgnizationID
                            select new
                            {
                                org.CreatedDate,
                                org.OrganizationName
                            };
     if (createdDate != string.Empty)
         opportunites = opportunites.Where(opp => 
                            opp.CreatedDate == Convert.ToDateTime(createdDate));

Но с этим кодом я не возвращаю никакого результата. Я думаю, что ошибка с оператором ==.

Я думаю, у меня должен быть такой код

"where createdDate between" + createdDate + "00:00:00" + and createdDate + "23:59:59"

Как заархивировать эту вещь в LINQ.

Любое предложение?

Ответы [ 2 ]

7 голосов
/ 17 июня 2009

Вы можете извлечь только часть даты DateTime следующим образом:

opp.CreatedDate.Date == Convert.ToDateTime(createdDate).Date
0 голосов
/ 18 апреля 2013

Вы можете добавить новую дату к критерию, просто добавив 86399 секунд:

DateTime dtFechaIni = Convert.ToDateTime(filter[0]);
DateTime dtFechaEnd = Convert.ToDateTime(filter[0]).AddSeconds(86399);

var getInfo = from gI in infEnt.tb_FileManagement_RegistrosArchivo
              where gI.tb_FileManagement_Archivo.FechaArchivo > dtFechaIni &&
              gI.tb_FileManagement_Archivo.FechaArchivo < dtFechaEnd
              select gI;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...