var _My_ResetSet_Array = _DB .tbl_MyTable .Where(x => x.Active == true && x.DateTimeValueColumn <= DateTime.Now) .Select(x => x);
Upper query is working correct.
But I want to check only date value only.
But upper query check date + time value.
In traditional mssql, I could write query like below.
SELECT * FROM dbo.tbl_MyTable WHERE CAST(CONVERT(CHAR(10), DateTimeValueColumn, 102) AS DATE) <= CAST(CONVERT(CHAR(10),GETDATE(),102) AS DATE) AND Active = 1
So could anyone give me suggestion how could I check only date value in Linq.
StartDate >= DateTime. Now). OrderBy(d => d. StartDate);
Meeting dates are stored in this table using the following format: May 2nd 2011 is (for example) formatted as 5/2/2011 . My requirement is to get the meetings between two dates (say, 4/25/2011 and 5/2/2011) and to write a query comparing a date with these two dates. Does it compare like 4/25/2011 < 4/26/2011?
There is also EntityFunctions.TruncateTime
or DbFunctions.TruncateTime
in EF 6.0
Simple workaround to this problem to compare date part only
var _My_ResetSet_Array = _DB .tbl_MyTable .Where(x => x.Active == true && x.DateTimeValueColumn.Year == DateTime.Now.Year && x.DateTimeValueColumn.Month == DateTime.Now.Month && x.DateTimeValueColumn.Day == DateTime.Now.Day);
Because 'Date' datatype is not supported by linq to entity , where as Year, Month and Day are 'int' datatypes and are supported.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With