LINQ to Entities avec la méthode AddMonth

c# entity-framework

Question

Ceci est mon code:

 return Newsletterctx.Subscribers.Count(o =>
     o.Validated == false &&
     o.ValidationEmailSent == true &&
     o.SubscriptionDateTime.AddMonths(1) < DateTime.Now);

Je reçois cette erreur:

LINQ to Entities ne reconnaît pas la méthode "System.DateTime AddMonths (Int32)" et ne peut pas être traduite en expression de magasin.

Réponse acceptée

Peut-être que vous pouvez décaler la date pour tester contre:

DateTime testDate = DateTime.Now.AddMonths(-1);
return Newsletterctx.Subscribers.Count
            (o => o.Validated == false 
             && o.ValidationEmailSent == true 
             && o.SubscriptionDateTime < testDate);

Réponse populaire

Vous pouvez utiliser SqlFunctions classvar;

 today =  DateTime.Now; return Newsletterctx.Subscribers.Count(o =>
 o.Validated == false &&
 o.ValidationEmailSent == true &&
 SqlFunctions.DateAdd("month",1,o.SubscriptionDateTime) <today);


Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow