Как использовать DateTime в предложении WHERE (LINQ)?

2

Как добавить дату - это предложение where. Я использую следующий код.

    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.

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

Теги:
linq
linq-to-sql

2 ответа

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;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню