Tengo algunas dificultades para ordenar mis resultados por fecha. ¿Hay algún método especial? porque estoy haciendo esto ahora:ASP.NET MVC - Model.OrderBy La fecha no tiene efecto
var db = new DB();
var articles = db.Articles;
var orderedArticles = articles.OrderBy(a => a.Date);
return View(orderedArticles.ToList());
donde Date es un campo de fecha y hora. Y no hay ningún efecto de OrdenarPor (..) o OrderByDescending (..)
Así que lograron comprobar lo que está sucediendo.
Cada vez que añada un nuevo artículo Sólo estoy usando la fecha en el tiempo no tan si tengo dos artículos tanto para el mismo día, por ejemplo: con:
var orderedArticles = db.Articles.OrderByDescending(a => a.Date).ToList();
me habría
Id Title Date
10 First Added Article 16/09/2009 00:00
11 Second Added Article 16/09/2009 00:00
15 Old Article Added Later 15/09/2009 00:00
Entonces puede ver que está filtrando por fecha, pero es que cuando tengo la misma fecha, la clasificación pierde el foco. Así que lo que hice es decir, orderBy dos contextos diferentes, como primer orden por Id y el orden más tarde por Fecha:
var orderedArticles = db.Articles.OrderByDescending(a => a.Id).OrderByDescending(a => a.Date).ToList();
Así que después de esto tengo los siguientes:
Id Title Date
11 Second Added Article 16/09/2009 00:00
10 First Added Article 16/09/2009 00:00
15 Old Article Added Later 15/09/2009 00:00
Realmente no sé si esta es la manera correcta de hacerlo, porque el problema principal es que cuando envía un campo de fecha como 16/09/2009 establece el horario a 00:00 y este es un problema en esta situación.
Lo sentimos - no he tenido problemas con las fechas de clasificación, suponiendo que Fecha es un campo de fecha y hora. Tal vez podría ser más específico en cuanto a su tipo de base de datos/versión? –
intente mover el OrderBy. Do: return View (articles.ToList(). OrderBy (a => a.Date)); Lo que está haciendo se ve bien, pero esto sacará la base de datos de la ecuación y simplemente usará la ordenación Linq to Objects. Si esto funciona, el tipo no está sucediendo en la consulta de linq. – anonymous