Sonuçlarıma Tarihe göre sıralama yapmakta zorluk yaşıyorum. Özel bir yöntem var mı? Şu anda bunu yapıyorum çünkü:ASP.NET MVC - Model.OrderBy Tarihin bir etkisi yok
Tarihi bir datetime alan olduğunuvar db = new DB();
var articles = db.Articles;
var orderedArticles = articles.OrderBy(a => a.Date);
return View(orderedArticles.ToList());
. Ve
Yani ne olup bittiğini kontrol etmek yönetilen OrderBy (..) veya OrderByDescending (..) için herhangi bir etkisi yoktur. ile:
var orderedArticles = db.Articles.OrderByDescending(a => a.Date).ToList();
ben
olurdu ben örneğin aynı gün için her iki makaleler varsa o kadarEverytime ben sadece zamanında tarihini kullanıyorum yeni madde eklemek
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
Yani, tarihe göre filtrelemenin görülebildiğini görebilirsiniz, ancak aynı tarihe sahip olduğumdaki sıralama, odaklamanın odağı kaybediyor olmasıdır. Ben is yaptığını Peki, Tarih bazında Id ve sonraki emriyle ilk sipariş gibi orderBy iki farklı bağlamlarda: Aşağıdaki
var orderedArticles = db.Articles.OrderByDescending(a => a.Id).OrderByDescending(a => a.Date).ToList();
Yani bundan sonra ben vardır:
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
Gerçekten bilmiyorum Eğer bunu yapmanın doğru yolu buysa, asıl sorun şu ki, 16/09/2009 gibi bir tarih alanını gönderdiğinizde, saati 00:00 olarak ayarlar ve bu durum bu durumla ilgili bir problemdir.
Üzgünüz - Ben olmadı Tarih, tarihin bir tarih alanı olduğu varsayılarak, tarihleri ayırma ile ilgili sorunlar. Belki veritabanı tipiniz/versiyonunuz hakkında daha spesifik olabilirsiniz? –
, OrderBy'yi taşımayı deneyin. Do: return Görüntüle (articles.ToList(). OrderBy (a => a.Date)); Ne yapıyorsun doğru görünüyor, ama bu veritabanını denklemden çıkaracak ve sadece Linq'den Objects sorting'e kullanacaksın. Bu çalışırsa, linq sorgusunda sıralama gerçekleşmiyor. – anonymous