.NET 7.0’daki yenilikler [30]: LINQ operatörleri Order() ve OrderDescending()

Saberie

Active member
Sıralama operatörleri OrderBy() VE OrderByDescending() 2007’de .NET Framework 3.5’te yayımlandığından beri Dil Tümleşik Sorgusu’nda (LINQ) mevcuttur.

Duyuru








Dr. Holger Schwichtenberg, son derece kritik güvenlikle ilgili alanlar da dahil olmak üzere yenilik ve deneyime dayalı yazılım geliştirme sunan MAXIMAGO’da baş teknoloji uzmanıdır. Aynı zamanda, 38 tanınmış uzmanla yazılım geliştirme ve kullanımı konusunda danışmanlık ve eğitim vererek çok sayıda orta ve büyük ölçekli şirketi destekleyen www.IT-Visions.de uzman ağını da yönetmektedir.







.NET 7.0’daki yenilik, artık “By” kelimesi olmayan ek bir varyantın olmasıdır. Microsoft’un LINQ operatörleri için yöntemleri vardır Order() VE OrderDescending() ek olarak OrderBy() VE OrderByDescending() tanıtıldı.

Yeni yöntemler Order() VE OrderDescending() temel veri türlerinin listelerini sıralamak için kısa bir sözdizimine izin verir.

Kullanım örneği


Yeni yöntemlerle Order() VE OrderDescending() sayıların, karakter dizilerinin veya tarihlerin artan sırada listesi için artık yeterli


var datenlisteSortiert = datenliste.OrderBy(x => x);


Daha kolay


var datenlisteSortiert = datenliste.Order();


ve bunun yerine azalan düzen için


var datenlisteSortiert = datenliste.OrderByDescending(x => x);


GİBİ


var datenlisteSortiert = datenliste.OrderDescending();


Entity Framework Core’da destek yok


Order() VE OrderDescending() “By” olmadan ve parametreler olmadan LINQ-to-Objects ile çalışır (ör. IEnumerable<T>), ancak Entity Framework Core, bu yeni operatörleri bir veritabanına uygulamaya çalıştığında başarısız olur (ör. IQueryable<T>) başvurmak. Bu kod


var q = (from f in efcore_context.FlightSet
select f.Departure)
.OrderDescending()
.ToList();


çalışma zamanı hatasını döndürür The LINQ expression 'DbSet<Flight>() .Select(f => f.Departure).OrderDescending()' could not be translated..

Aynı etki, .NET 6.0’da tanıtılan LINQ operatörlerinde de hala mevcuttur. MinBy(), MaxBy(), DistinctBy() VE Chunk()GitHub’daki ilgili sorunun gösterdiği gibi, Entity Framework Core 7.0’da bile henüz desteklenmiyor.


(kendim)



Haberin Sonu
 
Üst