2017-01-03 2 views
0

나는 date을 datetime으로, 월을 int으로 표로했습니다.Entity Framework를 사용하여 날짜 계산?

어떻게되는 EF 모든 개체를 얻을 수 있습니다

date + month_count > today's date - 7 days

테이블 구조는 SQL에서 직접 날짜 계산을 실행하는 것을 고려할 수 있습니다 성능상의 이유로

id uniqueidentifier 
date datetime 
month_count int 

답변

0

:

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 here

대안 그냥 메모리에 많은로드, 비 SQL을 사용하여 정렬을 인식 LINQ이다와 SQL :

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; 
} 
관련 문제