2009-06-17 2 views
2

Как добавить дату, где пункт. Я использую следующий код.Как использовать DateTime в предложении WHERE (LINQ)?

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.

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

ответ

7

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

opp.CreatedDate.Date == Convert.ToDateTime(createdDate).Date 
0

Вы можете добавить новую дату критерия, просто добавив 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; 
Смежные вопросы