Rilis Kerangka Kerja Entitas Sebelumnya
Versi pertama Entity Framework dirilis pada tahun 2008, sebagai bagian dari .NET Framework 3.5 SP1 dan Visual Studio 2008 SP1.
Dimulai dengan rilis EF4.1 yang telah dikirim sebagai Paket NuGet EntityFramework - saat ini salah satu paket paling populer di NuGet.org.
Antara versi 4.1 dan 5.0, paket EntityFramework NuGet memperluas pustaka EF yang dikirim sebagai bagian dari .NET Framework.
Dimulai dengan versi 6, EF menjadi proyek sumber terbuka dan juga pindah sepenuhnya keluar dari band dari .NET Framework. Ini berarti bahwa ketika Anda menambahkan paket NuGet EntityFramework versi 6 ke aplikasi, Anda mendapatkan salinan lengkap pustaka EF yang tidak bergantung pada bit EF yang dikirim sebagai bagian dari .NET Framework. Ini membantu mempercepat laju pengembangan dan pengiriman fitur baru.
Pada Juni 2016, kami merilis EF Core 1.0. EF Core didasarkan pada basis kode baru dan dirancang sebagai versi EF yang lebih ringan dan dapat diperluas. Saat ini EF Core adalah fokus utama pengembangan untuk Tim Kerangka Kerja Entitas di Microsoft. Ini berarti tidak ada fitur utama baru yang direncanakan untuk EF6. Namun EF6 masih dipertahankan sebagai proyek sumber terbuka dan produk Microsoft yang didukung.
Berikut adalah daftar rilis sebelumnya, dalam urutan kronologis terbalik, dengan informasi tentang fitur baru yang diperkenalkan di setiap rilis.
Pembaruan Alat EF di Visual Studio 2017 15.7
Pada bulan Mei 2018, kami merilis versi terbaru dari EF Tools sebagai bagian dari Visual Studio 2017 15.7. Ini termasuk perbaikan untuk beberapa titik nyeri umum:
- Perbaikan untuk beberapa bug aksesibilitas antarmuka pengguna
- Penanganan masalah untuk regresi performa SQL Server saat menghasilkan model dari database yang ada #4
- Dukungan untuk memperbarui model untuk model yang lebih besar di SQL Server #185
Peningkatan lain dalam versi baru EF Tools ini adalah menginstal runtime EF 6.2 saat membuat model dalam proyek baru. Dengan versi Visual Studio yang lebih lama, dimungkinkan untuk menggunakan runtime EF 6.2 (serta versi EF sebelumnya) dengan menginstal versi paket NuGet yang sesuai.
EF 6.2.0
Runtime EF 6.2 dirilis ke NuGet pada Oktober 2017. Berkat sebagian besar upaya komunitas kontributor sumber terbuka kami, EF 6.2 mencakup banyak perbaikan bug dan peningkatan produk.
Berikut adalah daftar singkat perubahan paling penting yang memengaruhi runtime EF 6.2:
- Kurangi waktu mulai dengan memuat model pertama kode yang selesai dari cache persisten #275
- API fasih untuk menentukan indeks #274
- DbFunctions.Like() untuk mengaktifkan penulisan kueri LINQ yang diterjemahkan ke LIKE di SQL #241
- Migrate.exe sekarang mendukung opsi -script #240
- EF6 sekarang dapat bekerja dengan nilai kunci yang dihasilkan oleh urutan di SQL Server #165
- Memperbarui daftar kesalahan sementara untuk Strategi Eksekusi Azure SQL #83
- Bug: Mencoba kembali kueri atau perintah SQL gagal dengan "SqlParameter sudah dimuat oleh SqlParameterCollection lain" #81
- Bug: Evaluasi DbQuery.ToString() sering kehabisan waktu di debugger #73
EF 6.1.3
Runtime EF 6.1.3 dirilis ke NuGet pada Oktober 2015. Rilis ini hanya berisi perbaikan pada cacat prioritas tinggi dan regresi yang dilaporkan pada rilis 6.1.2. Perbaikannya meliputi:
- Kueri: Regresi di EF 6.1.2: OUTER APPLY memperkenalkan dan kueri yang lebih kompleks untuk hubungan 1:1 dan klausa "biarkan"
- Masalah TPT dengan menyembunyikan properti kelas dasar di kelas yang diwariskan
- DbMigration.Sql gagal ketika kata 'go' terkandung dalam teks
- Membuat bendera kompatibilitas untuk dukungan perataan UnionAll dan Intersect
- Kueri dengan beberapa Sertakan tidak berfungsi di 6.1.2 (berfungsi di 6.1.1)
- Pengecualian "Anda memiliki kesalahan dalam sintaks SQL Anda" setelah meningkatkan dari EF 6.1.1 ke 6.1.2
EF 6.1.2
Runtime EF 6.1.2 dirilis ke NuGet pada Desember 2014. Versi ini sebagian besar tentang perbaikan bug. Kami juga menerima beberapa perubahan penting dari anggota komunitas:
- Parameter cache kueri dapat dikonfigurasi dari file app/web.configuration
<entityFramework> <queryCache size='1000' cleaningIntervalInSeconds='-1'/> </entityFramework>
- Metode SqlFile dan SqlResource pada DbMigration memungkinkan Anda menjalankan skrip SQL yang disimpan sebagai file atau sumber daya yang disematkan.
EF 6.1.1
Runtime EF 6.1.1 dirilis ke NuGet pada Juni 2014. Versi ini berisi perbaikan untuk masalah yang dihadapi sejumlah orang. Antara lain:
- Perancang: Kesalahan saat membuka EDMX EF5 dengan presisi desimal dalam desainer EF6
- Logika deteksi instans default untuk LocalDB tidak berfungsi dengan SQL Server 2014
EF 6.1.0
Runtime EF 6.1.0 dirilis ke NuGet pada Maret 2014. Pembaruan kecil ini mencakup sejumlah besar fitur baru:
- Konsolidasi alat menyediakan cara yang konsisten untuk membuat model EF baru. Fitur ini memperluas wizard ADO.NET Model Data Entitas untuk mendukung pembuatan model Code First, termasuk rekayasa terbalik dari database yang ada. Fitur-fitur ini sebelumnya tersedia dalam kualitas Beta di EF Power Tools.
- Penanganan kegagalan penerapan transaksi menyediakan CommitFailureHandler yang memanfaatkan kemampuan yang baru diperkenalkan untuk mencegat operasi transaksi. CommitFailureHandler memungkinkan pemulihan otomatis dari kegagalan koneksi saat melakukan transaksi.
- IndexAttribute memungkinkan indeks ditentukan dengan menempatkan
[Index]
atribut pada properti (atau properti) di model Code First Anda. Kode Pertama kemudian akan membuat indeks yang sesuai dalam database. - API pemetaan publik menyediakan akses ke informasi yang dimiliki EF tentang bagaimana properti dan jenis dipetakan ke kolom dan tabel dalam database. Dalam rilis sebelumnya, API ini internal.
- Kemampuan untuk mengonfigurasi pencegat melalui file App/Web.config memungkinkan pencegat ditambahkan tanpa mengompilasikan ulang aplikasi.
- System.Data.Entity.Infrastructure.Interception.DatabaseLoggeradalah pencegat baru yang memudahkan untuk mencatat semua operasi database ke file. Dalam kombinasi dengan fitur sebelumnya, ini memungkinkan Anda untuk dengan mudah beralih pada pengelogan operasi database untuk aplikasi yang disebarkan, tanpa perlu mengkompilasi ulang.
- Deteksi perubahan model migrasi telah ditingkatkan sehingga migrasi perancah lebih akurat; performa proses deteksi perubahan juga telah ditingkatkan.
- Peningkatan performa termasuk pengurangan operasi database selama inisialisasi, pengoptimalan untuk perbandingan kesetaraan null dalam kueri LINQ, pembuatan tampilan yang lebih cepat (pembuatan model) dalam lebih banyak skenario, dan materialisasi entitas terlacak yang lebih efisien dengan beberapa asosiasi.
EF 6.0.2
Runtime EF 6.0.2 dirilis ke NuGet pada Desember 2013. Rilis patch ini terbatas pada memperbaiki masalah yang diperkenalkan dalam rilis EF6 (regresi dalam performa/perilaku sejak EF5).
EF 6.0.1
Runtime EF 6.0.1 dirilis ke NuGet pada Oktober 2013 secara bersamaan dengan EF 6.0.0, karena yang terakhir disematkan dalam versi Visual Studio yang telah dikunci beberapa bulan sebelumnya. Rilis patch ini terbatas pada memperbaiki masalah yang diperkenalkan dalam rilis EF6 (regresi dalam performa/perilaku sejak EF5). Perubahan yang paling penting adalah memperbaiki beberapa masalah performa selama pemanasan untuk model EF. Ini penting karena performa pemanasan adalah area fokus di EF6 dan masalah ini menimpa beberapa perolehan performa lain yang dibuat di EF6.
EF 6.0
Runtime EF 6.0.0 dirilis ke NuGet pada Oktober 2013. Ini adalah versi pertama di mana runtime EF lengkap disertakan dalam Paket NuGet EntityFramework yang tidak bergantung pada bit EF yang merupakan bagian dari .NET Framework. Memindahkan bagian runtime yang tersisa ke paket NuGet memerlukan sejumlah perubahan yang melanggar untuk kode yang ada. Lihat bagian tentang Meningkatkan ke Kerangka Kerja Entitas 6 untuk detail selengkapnya tentang langkah-langkah manual yang diperlukan untuk meningkatkan.
Rilis ini mencakup banyak fitur baru. Fitur berikut berfungsi untuk model yang dibuat dengan Code First atau EF Designer:
- Kueri Asinkron dan Simpan menambahkan dukungan untuk pola asinkron berbasis tugas yang diperkenalkan di .NET 4.5.
- Ketahanan Koneksi memungkinkan pemulihan otomatis dari kegagalan koneksi sementara.
- Konfigurasi Berbasis Kode memberi Anda opsi untuk melakukan konfigurasi – yang secara tradisional dilakukan dalam file konfigurasi – dalam kode.
- Resolusi Dependensi memperkenalkan dukungan untuk pola Pencari Layanan dan kami telah memperhitungkan beberapa fungsionalitas yang dapat diganti dengan implementasi kustom.
- Pencatatan Intersepsi/SQL menyediakan blok penyusun tingkat rendah untuk intersepsi operasi EF dengan pengelogan SQL sederhana yang dibangun di atasnya.
- Peningkatan kemampuan pengujian memudahkan untuk membuat pengujian ganda untuk DbContext dan DbSet saat menggunakan kerangka kerja tiruan atau menulis ganda pengujian Anda sendiri.
- DbContext sekarang dapat dibuat dengan DbConnection yang sudah dibuka yang memungkinkan skenario di mana akan membantu jika koneksi dapat terbuka saat membuat konteks (seperti berbagi koneksi antar komponen di mana Anda tidak dapat menjamin status koneksi).
- Dukungan Transaksi yang Ditingkatkan memberikan dukungan untuk transaksi eksternal kerangka kerja serta cara yang ditingkatkan untuk membuat transaksi dalam Kerangka Kerja.
- Enum, Spasial, dan Performa Yang Lebih Baik pada .NET 4.0 - Dengan memindahkan komponen inti yang dulu berada dalam .NET Framework ke dalam paket EF NuGet, kami sekarang dapat menawarkan dukungan enum, jenis data spasial, dan peningkatan performa dari EF5 pada .NET 4.0.
- Peningkatan performa Enumerable.Contains dalam kueri LINQ.
- Waktu pemanasan yang ditingkatkan (pembuatan tampilan), terutama untuk model besar.
- Pluralisasi & Layanan Singularisasi yang Dapat Dicolokkan.
- Implementasi kustom Equals atau GetHashCode pada kelas entitas sekarang didukung.
- DbSet.AddRange/RemoveRange menyediakan cara yang dioptimalkan untuk menambahkan atau menghapus beberapa entitas dari satu set.
- DbChangeTracker.HasChanges menyediakan cara yang mudah dan efisien untuk melihat apakah ada perubahan yang tertunda untuk disimpan ke database.
- SqlCeFunctions menyediakan SQL Compact yang setara dengan SqlFunctions.
Fitur berikut hanya berlaku untuk Kode Pertama:
- Konvensi Pertama Kode Kustom memungkinkan penulisan konvensi Anda sendiri untuk membantu menghindari konfigurasi berulang. Kami menyediakan API sederhana untuk konvensi ringan serta beberapa blok bangunan yang lebih kompleks untuk memungkinkan Anda menulis konvensi yang lebih rumit.
- Pemetaan Pertama Kode untuk Menyisipkan/Memperbarui/Menghapus Prosedur Tersimpan sekarang didukung.
- Skrip migrasi idempogen memungkinkan Anda membuat skrip SQL yang dapat meningkatkan database pada versi apa pun hingga versi terbaru.
- Tabel Riwayat Migrasi yang Dapat Dikonfigurasi memungkinkan Anda menyesuaikan definisi tabel riwayat migrasi. Ini sangat berguna bagi penyedia database yang memerlukan jenis data yang sesuai, dll. untuk ditentukan agar tabel Riwayat Migrasi berfungsi dengan benar.
- Beberapa Konteks per Database menghapus batasan sebelumnya dari satu model Code First per database saat menggunakan Migrasi atau saat Kode Pertama secara otomatis membuat database untuk Anda.
- DbModelBuilder.HasDefaultSchema adalah API Pertama Kode baru yang memungkinkan skema database default untuk model Code First dikonfigurasi di satu tempat. Sebelumnya skema default Code First dikodekan secara permanen ke "dbo" dan satu-satunya cara untuk mengonfigurasi skema tempat tabel berada melalui TOTable API.
- Metode DbModelBuilder.Configurations.AddFromAssembly memungkinkan Anda untuk dengan mudah menambahkan semua kelas konfigurasi yang ditentukan dalam rakitan saat Anda menggunakan kelas konfigurasi dengan Code First Fluent API.
- Operasi Migrasi Kustom memungkinkan Anda menambahkan operasi tambahan yang akan digunakan dalam migrasi berbasis kode Anda.
- Tingkat isolasi transaksi default diubah menjadi READ_COMMITTED_SNAPSHOT untuk database yang dibuat menggunakan Code First, memungkinkan skalabilitas yang lebih banyak dan lebih sedikit kebuntuan.
- Jenis entitas dan kompleks sekarang dapat menjadi kelas nestedinside.
EF 5.0
Runtime EF 5.0.0 dirilis ke NuGet pada Agustus 2012. Rilis ini memperkenalkan beberapa fitur baru termasuk dukungan enum, fungsi bernilai tabel, jenis data spasial, dan berbagai peningkatan performa.
Perancang Kerangka Kerja Entitas di Visual Studio 2012 juga memperkenalkan dukungan untuk beberapa diagram per model, pewarnaan bentuk pada permukaan desain dan impor batch prosedur tersimpan.
Berikut adalah daftar konten yang kami satukan khusus untuk rilis EF 5:
- Posting Rilis EF 5
- Fitur Baru di EF5
- Menyiapkan model Anda
- Membuat Model
- Koneksi dan Model
- Pertimbangan Performa
- Bekerja dengan Microsoft SQL Azure
- Pengaturan File Konfigurasi
- Glosarium
- Kode Pertama
- Kode Pertama ke database baru (panduan dan video)
- Kode Pertama ke database yang sudah ada (panduan dan video)
- Konvensi
- Anotasi Data
- API Fasih - Mengonfigurasi/Memetakan Properti & Jenis
- API Fasih - Mengonfigurasi Hubungan
- API fasih dengan VB.NET
- Migrasi Pertama Kode
- Migrasi Pertama Kode Otomatis
- Migrate.exe
- Menentukan DbSets
- Desainer EF
- Model Pertama (panduan dan video)
- Database First (panduan dan video)
- Jenis kompleks
- Asosiasi/Hubungan
- Pola Warisan TPT
- Pola Warisan TPH
- Kueri dengan Prosedur Tersimpan
- Prosedur Tersimpan dengan Beberapa Tataan Hasil
- Sisipkan, Perbarui & Hapus dengan Prosedur Tersimpan
- Memetakan Entitas ke Beberapa Tabel (Pemisahan Entitas)
- Memetakan Beberapa Entitas ke Satu Tabel (Pemisahan Tabel)
- Menentukan Kueri
- Templat Pembuatan Kode
- Mengembalikan ke ObjectContext
- Menggunakan Model Anda
- Bekerja dengan DbContext
- Mengkueri/Menemukan Entitas
- Bekerja dengan Hubungan
- Memuat Entitas Terkait
- Bekerja dengan Data Lokal
- Aplikasi N-Tingkat
- Kueri SQL Mentah
- Pola Konkurensi Optimis
- Bekerja dengan Proksi
- Deteksi Perubahan Otomatis
- Kueri Tanpa Pelacakan
- Metode Pemuatan
- Tambahkan/Lampirkan dan Status Entitas
- Bekerja dengan Nilai Properti
- Pengikatan Data dengan WPF (Windows Presentation Foundation)
- Pengikatan Data dengan WinForms (Formulir Windows)
EF 4.3.1
Runtime EF 4.3.1 dirilis ke NuGet pada Februari 2012 tak lama setelah EF 4.3.0. Rilis patch ini mencakup beberapa perbaikan bug untuk rilis EF 4.3 dan memperkenalkan dukungan LocalDB yang lebih baik untuk pelanggan yang menggunakan EF 4.3 dengan Visual Studio 2012.
Berikut adalah daftar konten yang kami satukan khusus untuk rilis EF 4.3.1, sebagian besar konten yang disediakan untuk EF 4.1 masih berlaku untuk EF 4.3 juga:
EF 4.3
Runtime EF 4.3.0 dirilis ke NuGet pada Februari 2012. Rilis ini menyertakan fitur Migrasi Pertama Kode baru yang memungkinkan database yang dibuat oleh Code First diubah secara bertahap saat model Code First Anda berkembang.
Berikut adalah daftar konten yang kami satukan khusus untuk rilis EF 4.3, sebagian besar konten yang disediakan untuk EF 4.1 masih berlaku untuk EF 4.3 juga:
EF 4.2
Runtime EF 4.2.0 dirilis ke NuGet pada November 2011. Rilis ini mencakup perbaikan bug pada rilis EF 4.1.1. Karena rilis ini hanya menyertakan perbaikan bug, itu bisa saja rilis patch EF 4.1.2 tetapi kami memilih untuk pindah ke 4.2 untuk memungkinkan kami menjauh dari nomor versi patch berbasis tanggal yang kami gunakan dalam rilis 4.1.x dan mengadopsi standar Penerapan Versi Semantik untuk penerapan versi semantik.
Berikut adalah daftar konten yang kami satukan khusus untuk rilis EF 4.2, konten yang disediakan untuk EF 4.1 masih berlaku untuk EF 4.2 juga:
EF 4.1.1
Runtime EF 4.1.10715 dirilis ke NuGet pada Juli 2011. Selain perbaikan bug, rilis patch ini memperkenalkan beberapa komponen untuk memudahkan alat waktu desain bekerja dengan model Code First. Komponen-komponen ini digunakan oleh Migrasi Pertama Kode (termasuk dalam EF 4.3) dan EF Power Tools.
Anda akan melihat bahwa versi aneh nomor 4.1.10715 paket. Kami digunakan untuk menggunakan versi patch berbasis tanggal sebelum kami memutuskan untuk mengadopsi Penerapan Versi Semantik. Anggap versi ini sebagai EF 4.1 patch 1 (atau EF 4.1.1).
Berikut adalah daftar konten yang kami satukan untuk rilis 4.1.1:
EF 4.1
Runtime EF 4.1.10331 adalah yang pertama diterbitkan di NuGet, pada bulan April 2011. Rilis ini mencakup API DbContext yang disederhanakan dan alur kerja Code First.
Anda akan melihat nomor versi yang aneh, 4.1.10331, yang seharusnya benar-benar 4.1. Selain itu ada versi 4.1.10311 yang seharusnya 4.1.0-rc ('rc' adalah singkatan dari 'kandidat rilis'). Kami digunakan untuk menggunakan versi patch berbasis tanggal sebelum kami memutuskan untuk mengadopsi Penerapan Versi Semantik.
Berikut adalah daftar konten yang kami satukan untuk rilis 4.1. Sebagian besar masih berlaku untuk rilis Kerangka Kerja Entitas nanti:
- Posting Rilis EF 4.1
- Panduan Pertama Kode
- Model & Panduan Pertama Database
- SQL Azure Federations dan Entity Framework
EF 4.0
Rilis ini disertakan dalam .NET Framework 4 dan Visual Studio 2010, pada bulan April 2010. Fitur baru penting dalam rilis ini mencakup dukungan POCO, pemetaan kunci asing, pemuatan malas, peningkatan kemampuan pengujian, pembuatan kode yang dapat disesuaikan, dan alur kerja Model First.
Meskipun merupakan rilis kedua dari Entity Framework, ia diberi nama EF 4 untuk menyelaraskan dengan versi .NET Framework yang dikirimkannya. Setelah rilis ini, kami mulai membuat Kerangka Kerja Entitas tersedia di NuGet dan mengadopsi penerapan versi semantik karena kami tidak lagi terikat dengan Versi .NET Framework.
Perhatikan bahwa beberapa versi .NET Framework berikutnya telah dikirim dengan pembaruan signifikan ke bit EF yang disertakan. Bahkan, banyak fitur baru EF 5.0 diimplementasikan sebagai peningkatan pada bit ini. Namun, untuk merasialisasi cerita penerapan versi untuk EF, kami terus merujuk ke bit EF yang merupakan bagian dari .NET Framework sebagai runtime EF 4.0, sementara semua versi yang lebih baru terdiri dari Paket NuGet EntityFramework.
EF 3.5
Versi awal Entity Framework disertakan dalam .NET 3.5 Service Pack 1 dan Visual Studio 2008 SP1, dirilis pada Agustus 2008. Rilis ini menyediakan dukungan O/RM dasar menggunakan alur kerja Database First.