LINQ operatörleri Order() ve OrderDescending() – Blog

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.

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();

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

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir