EF6 EDMX Tabanlı Modeli EF Core'a Taşıma
EF Core, modeller için EDMX dosya biçimini desteklemez. Bu modelleri taşımanın en iyi seçeneği, uygulamanız için veritabanından yeni bir kod tabanlı model oluşturmaktır.
EF Core NuGet paketlerini yükleme
Microsoft.EntityFrameworkCore.Tools
NuGet paketini yükleyin.
Modeli yeniden oluşturma
Artık mevcut veritabanınızı temel alan bir model oluşturmak için tersine mühendislik işlevini kullanabilirsiniz.
Paket Yöneticisi Konsolu'nda aşağıdaki komutu çalıştırın (Araçlar –> NuGet Paket Yöneticisi –> Paket Yöneticisi Konsolu). Tabloların bir alt kümesinin iskelesini oluşturmak için komut seçenekleri için bkz. Paket Yöneticisi Konsolu (Visual Studio).
Scaffold-DbContext "<connection string>" <database provider name>
Örneğin, SQL Server LocalDB örneğinizdeki Blog veritabanından bir modelin iskelesini oluşturma komutu aşağıda verilmiştir.
Scaffold-DbContext "Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer
EF6 modelini kaldırma
Şimdi EF6 modelini uygulamanızdan kaldırabilirsiniz.
EF Core ve EF6 aynı uygulamada yan yana kullanılabildiğinden EF6 NuGet paketinin (EntityFramework) yüklü bırakılması normaldir. Ancak, EF6'yı uygulamanızın herhangi bir alanında kullanmayı düşünmüyorsanız, paketin kaldırılması derleyici hatalarını dikkat gerektiren kod parçalarına odaklamanıza yardımcı olur.
Kodunuzu güncelleştirme
Bu noktada, EF6 ile EF Core arasındaki davranışın sizi etkileyip etkilemediğini görmek için derleme hatalarını ele almak ve kodu gözden geçirmek önemlidir.
Bağlantı noktasını test edin
Uygulamanızın derlenmiş olması, EF Core'a başarıyla taşınabilir olduğu anlamına gelmez. Davranış değişikliklerinden hiçbirinin uygulamanızı olumsuz etkilemediğinden emin olmak için uygulamanızın tüm alanlarını test etmeniz gerekir.
Diğer konular
EF Core sağlayıcıyı EntityClient
desteklemez ve bu nedenle herhangi bir EntitySQL sorgusu LINQ veya FromRawSql
öğesine geçirilmelidir.
Ayrıca, EntityClient bağlantı dizesi s için destek yoktur.
Daha fazla bilgi için EF6 ile EF Core arasındaki farklar için kılavuzun tamamını okuyun.