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 ではサポートされていないというエラーが表示されます。任意の支援をいただければ幸いです。