Entity framework 使用实体框架计算日期?
我有一个表,其中日期为datetime,月份计数为int 如何获取所有具有EF的实体Entity framework 使用实体框架计算日期?,entity-framework,entity-framework-6,Entity Framework,Entity Framework 6,我有一个表,其中日期为datetime,月份计数为int 如何获取所有具有EF的实体 date+month\u count>今天的日期-7天 表结构 id uniqueidentifier date datetime month_count int 出于性能原因,您可能需要考虑在SQL:中直接执行日期计算。 using (var dbContext = new DbContext()) { var result = from entity in dbContext.Entities.
date+month\u count>今天的日期-7天
表结构
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");
}
阅读有关在EntityFramework中使用SQL的更多信息
另一种方法是将批次加载到内存中,并使用不支持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;
}