70 votes

Comment comparer DateTime sans heure via LINQ ?

j'ai

 var q = db.Games.Where(t => t.StartDate >= DateTime.Now).OrderBy(d => d.StartDate);

Mais il compare en incluant une partie du temps de DateTime . Je n'en ai vraiment pas besoin.

Comment le faire sans temps ?

Merci!

119voto

Duane Theriot Points 1535

La propriété Date n'est pas prise en charge par LINQ to Entities -- vous obtiendrez une erreur si vous essayez de l'utiliser sur un champ DateTime dans une requête LINQ to Entities. Vous pouvez cependant rogner les dates à l'aide de la méthode DbFunctions.TruncateTime.

 var today = DateTime.Today;
var q = db.Games.Where(t => DbFunctions.TruncateTime(t.StartDate) >= today);

21voto

Cagdas Points 670

Essayez ce code

 var today = DateTime.Today;
var q = db.Games.Where(t => DbFunctions.TruncateTime(t.StartDate) <= today);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X