.NET Core 2.0 için geçen hafta nuget paketleri güncellenmiş ama resmi bir açıklama yapılmamıştı. Bu haftanın başında tüm .NET Core 2.0 alt yapısındaki API’ler RTM oldu. Yani artık; ASP.NET Core 2.0, Entity Framework Core 2.0‘ı üretim ortamlarında kullanabilirsiniz. Bu yayınlanma döngüsü içerisinde .NET Standard 2.0‘da tamamlandı. 1.6 versiyonuna göre desteklenen API sayısı ciddi anlamda artmış oldu böylece. .NET Framework’deki toplam yaklaşık 32000 API, .NET Standard 2.0 ile kullanılabilir hale geldi. Bu ne demek? Yani eğer geliştirdiğiniz kütüphaneler,kodlar…vs., .NET Standard 2.0’ın kontratının sunduğu API’leri kullanarak geliştirildiyse, farklı işletim sistemlerinde de çalışabilecek. Çok güzel, değil mi… 🙂
.NET Core 2.0, tamamen .NET Standard 2.0 API’lerini destekleyecek şekilde RTM olmuş durumda. En önemli çıktı bu diyebilirim ama tabi ki bunun dışında performans konusunda da ciddi iyileştirmeler mevcut. Ayrıca ARM32 sistemlerinde de kullanılabilir durumda. .NET’i her ortamda çalıştırabilmek için güzel bir gelişme.
ASP.NET Core 2.0 ile beraber de bir çok iyileştirme ve yenilik mevcut. En dikkat çeken Razor Pages diyebilirim. MVC kalıbının biraz daha kolay uygulanabilmesini sağlayan ek bir sayfa modeli diyebilirim. Biraz daha ön yüz tarafına odaklanmanız gerek uygulamalar için kullanabileceğiniz bir yapı. Rahmetli ASP.NET Web Pages’i hatırlayanlar ve sevenler Razor Pages’ı da çok sevecektir diye düşünüyorum. Bir yeni ve güzel özellik DbContextPooling… DbContext tipindeki EF context objelerinizi pooling yaparak daha performanslı kullanmanıza olanak sağlanıyor. DBContext instance’larının her request’de baştan tekrar tekrar yaratılmasının sebep olduğu sıkıntılar biraz olsun giderilmiş durumda. Tüm geliştirilen maddeler ve giderilen bug’ları daha ayrıntılı bir şekilde GitHub sitesinden takip edebilirsiniz.
Son olarak EF Core 2.0‘dan da biraz bahsederek, sizleri daha ayrıntılı araştırmanız için azat edim. LINQ sorgularının oluşturduğu T-SQL sorgularında ciddi anlamda bir iyileştirme yapılmış. Kompleks LINQ ifadelerinden oluşturulan T-SQL cümlecikleri artık biraz daha hızlı oluşacak. Bunun haricinde EF.Functions.Like() ile artık SQL’deki LIKE ifadesine denk gelen LINQ ifadeleri yazmak mümkün. Bir güzel gelişme EF6.x’de olan ama EF Core’da sıkıntılı olan TableSplitting kavramı da EF Core 2.0’da çözümlenmiş durumda. İki farklı entity’yi tek bir tabloya map etmek artık daha kolay.
Son olarak .NET Core 2.0’ı indirmek için https://www.microsoft.com/net/download/core adresini hatırlatmak isterim. Her şeyin başlangıcı…Yumulun…