0
我有一張表,其中date
爲日期時間,一個月爲int
。使用實體框架計算日期?
我怎樣才能與EF所有實體是
date + month_count > today's date - 7 days
表結構
id uniqueidentifier
date datetime
month_count int
我有一張表,其中date
爲日期時間,一個月爲int
。使用實體框架計算日期?
我怎樣才能與EF所有實體是
date + month_count > today's date - 7 days
表結構
id uniqueidentifier
date datetime
month_count int
出於性能方面的考慮,您可能要考慮直接在SQL執行日期計算:
using (var dbContext = new DbContext())
{
var result = from entity in dbContext.Entities.SqlQuery(
@"SELECT * FROM entities
WHERE
DATEDIFF(d,
DATEADD(m, [month_count], [date]),
GETDATE()) > -7");
}
瞭解更多關於使用SQL用的EntityFramework here
另一種方法是隻加載很多到內存中,並使用非SQL排序它意識到LINQ:
using (var dbContext = new DbContext())
{
var oneWeekAgo = (DateTime.Now() - TimeSpan.FromDays(7)).Date();
var result = from entity in dbContext.Entities.ToList()
where entity.Date + TimeSpan.FromMonths(entity.MonthCount)
> oneWeekAgo;
}