我需要使用 Linq to Entities 创建查询,其中生日必须在 2 天前和接下来的 30 天内。
以下不返回任何内容:
DateTime twoDaysAgo = DateTime.Now.AddDays(-2);
int twoDaysAgoDay = twoDaysAgo.Day;
int twoDaysAgoMonth = twoDaysAgo.Month;
DateTime MonthAway = DateTime.Now.AddDays(30);
int monthAwayDay = MonthAway.Day;
int monthAwayMonth = MonthAway.Month;
var bdays = from p in db.Staffs where EntityFunctions.TruncateTime(p.BirthDate) > EntityFunctions.TruncateTime(twoDaysAgo) &&
EntityFunctions.TruncateTime(p.BirthDate) < EntityFunctions.TruncateTime(MonthAway)
orderby p.BirthDate select p;
return bdays;
我遇到的问题是我需要一些东西,如果生日从 11/3 下降到 12/5,它应该返回它。它失败的原因是生日包括年份。但是,当我使用类似的东西时:
p.BirthDate.Value.Month
我收到 Linq to Entities 不支持此功能的错误。任何援助将不胜感激。