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;
私信じるtvanfossonが言うように、これはLINQ to SQLのために働きます、それはEFのためにありません。
CLR UDFを作成して日付のみを比較してから、それをあなたのlinq to 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