Entity Framework – Date and Time

Overview
Short example of how to compare the date and time with Entity Framework query. Also, how to truncate the time from a Date Time value,
Compare Time
With DateTime.Today() for the date and DateTime.Now() for the time.
var currentDateTime = DateTime.Today;
var currentDateTimeHour = DateTime.Now.Hour;
var qryResults = from a in db.table1.Where(col => col.Category == CategoryId)
.Where(col => col.title.Contains(searchString))
join b in db.table2 on a.DynoType equals b.Id
where a.DateTimeColumn >= currentDateTime
where a.DateTimeColumn.Hour >= currentDateTimeHour
select new
{
a.Id,
a.column1,
a.column2,
};
To filter by todays date and an hour or X minutes in the future or back in time use the AddHours(), AddMinutes()
var currentDateTimeHour = DateTime.Now.AddHours(-1).Hour; // Past - Hour ago
var currentDateTimeHour = DateTime.Now.AddHours(1).Hour; // Future - Hour from now
To remove the time portion of a Date Time column/variable use DbFunctions.Truncate()
Import the following library
using System.Data.Entity;
select new
{
StartDateTimeTrunc = DbFunctions.TruncateTime(a.StartDate),
a.StartDate
Would return the following:
StartDate: "2022-02-03T14:55:00"
StartDateTimeTrunc: "2022-02-03T00:00:00"
You must be logged in to post a comment.