LINQ to SQL에서 SQL datetime 열과 .net datetime 개체의 날짜 부분 만 비교하는 방법은 무엇입니까?
다음을 사용해보십시오.Date
둘 다의 속성 :
Date today = DateTime.Today; // Effectively DateTime.Now.Date
var dataFromToday = from record in context.Records
where record.TimeStamp.Date == today
select record;
나는믿다이것은 LINQ to SQL에서 작동합니다 ... tvanfosson이 말했듯이, EF에서는 그렇지 않습니다.
CLR UDF를 작성하여 날짜 만 비교 한 다음 linq에서 sql linq로 조회 할 수 있습니다.
using System.Data.Entity;
DbFunctions.TruncateTime(u.BirthDate) = DbFunctions.TruncateTime(someDate)
using System.Data.Objects.SqlClient; //Don't forget this!!
//You can access to SQL DatePart function using something like this:
YourTable.Select(t => new { DayOfWeek = SqlFunctions.DatePart("weekday", t.dateTimeField) - 1 }); //Zero based in SQL
//You can compare to SQL DatePart function using something like this:
DateTime dateToCompare = DateTime.Today;
YourTable.Where(t => SqlFunctions.DatePart("weekday", t.dateTimeField) - 1 == dateToCompare }); //Zero based in SQL
.Date
비교를위한 DateTime 속성. - 그냥 확인 했어. 내 대답에 게시 된 링크. - tvanfosson