Model Pertama
Video dan panduan langkah demi langkah ini memberikan pengenalan pengembangan Model First menggunakan Entity Framework. Model First memungkinkan Anda membuat model baru menggunakan Perancang Kerangka Kerja Entitas lalu menghasilkan skema database dari model. Model disimpan dalam file EDMX (ekstensi.edmx) dan dapat dilihat dan diedit di Perancang Kerangka Kerja Entitas. Kelas yang berinteraksi dengan Anda di aplikasi secara otomatis dihasilkan dari file EDMX.
Tonton video
Video dan panduan langkah demi langkah ini memberikan pengenalan pengembangan Model First menggunakan Entity Framework. Model First memungkinkan Anda membuat model baru menggunakan Perancang Kerangka Kerja Entitas lalu menghasilkan skema database dari model. Model disimpan dalam file EDMX (ekstensi.edmx) dan dapat dilihat dan diedit di Perancang Kerangka Kerja Entitas. Kelas yang berinteraksi dengan Anda di aplikasi secara otomatis dihasilkan dari file EDMX.
Disajikan Oleh: Rowan Miller
Prasyarat
Anda harus menginstal Visual Studio 2010 atau Visual Studio 2012 untuk menyelesaikan panduan ini.
Jika Anda menggunakan Visual Studio 2010, Anda juga harus menginstal NuGet .
1. Buat Aplikasi
Untuk menjaga hal-hal sederhana, kita akan membangun aplikasi konsol dasar yang menggunakan Model Pertama untuk melakukan akses data:
- Membuka Visual Studio
- File -> Baru -> Proyek
- Pilih Windows dari menu sebelah kiri dan Aplikasi Konsol
- Masukkan ModelFirstSample sebagai nama
- Pilih OK
2. Buat Model
Kita akan menggunakan Entity Framework Designer, yang disertakan sebagai bagian dari Visual Studio, untuk membuat model kita.
Project -> Tambahkan Item Baru...
Pilih Data dari menu sebelah kiri lalu ADO.NET Model Data Entitas
Masukkan BloggingModel sebagai nama dan klik OK, ini meluncurkan Wizard Model Data Entitas
Pilih Model Kosong dan klik Selesai
Perancang Kerangka Kerja Entitas dibuka dengan model kosong. Sekarang kita dapat mulai menambahkan entitas, properti, dan asosiasi ke model.
Klik kanan pada permukaan desain dan pilih Properti
Di jendela Properti ubah Nama Kontainer Entitas menjadi BloggingContextIni adalah nama konteks turunan yang akan dihasilkan untuk Anda, konteks mewakili sesi dengan database, memungkinkan kami untuk mengkueri dan menyimpan data
Klik kanan pada permukaan desain dan pilih Tambahkan Baru -> Entitas...
Masukkan Blog sebagai nama entitas dan BlogId sebagai nama kunci dan klik OK
Klik kanan pada entitas baru pada permukaan desain dan pilih Tambahkan Properti Baru -> Skalar, masukkan Nama sebagai nama properti .
Ulangi proses ini untuk menambahkan properti Url .
Klik kanan pada properti Url pada permukaan desain dan pilih Properti, di jendela Properti ubah pengaturan Nullable ke TrueIni memungkinkan kami menyimpan Blog ke database tanpa menetapkan url
Menggunakan teknik yang baru saja Anda pelajari, tambahkan entitas Post dengan properti kunci PostId
Menambahkan properti Judul dan Skalar Konten ke entitas Postingan
Sekarang setelah kita memiliki beberapa entitas, saatnya untuk menambahkan asosiasi (atau hubungan) di antara mereka.
Klik kanan pada permukaan desain dan pilih Tambahkan Baru -> Asosiasi...
Jadikan salah satu ujung hubungan menunjuk ke Blog dengan kelipatan Satu dan titik akhir lainnya untuk Memposting dengan banyak Hal Ini berarti bahwa Blog memiliki banyak Postingan dan Postingan milik satu Blog
Pastikan kotak Tambahkan properti kunci asing ke Entitas 'Posting' dicentang dan klik OK
Kita sekarang memiliki model sederhana yang dapat kita hasilkan database dari dan gunakan untuk membaca dan menulis data.
Langkah Tambahan di Visual Studio 2010
Jika Anda bekerja di Visual Studio 2010, ada beberapa langkah tambahan yang perlu Anda ikuti untuk meningkatkan ke versi terbaru Entity Framework. Peningkatan penting karena memberi Anda akses ke permukaan API yang ditingkatkan, yang jauh lebih mudah digunakan, serta perbaikan bug terbaru.
Pertama, kita perlu mendapatkan versi terbaru Entity Framework dari NuGet.
- Project –> Kelola Paket NuGet...Jika Anda tidak memiliki opsi Kelola Paket NuGet... Anda harus menginstal versi terbaru NuGet
- Pilih tab Online
- Pilih paket EntityFramework
- Klik Instal
Selanjutnya, kita perlu menukar model kita untuk menghasilkan kode yang menggunakan API DbContext, yang diperkenalkan dalam versi Entity Framework yang lebih baru.
Klik kanan pada tempat kosong model Anda di Perancang EF dan pilih Tambahkan Item Pembuatan Kode...
Pilih Templat Online dari menu sebelah kiri dan cari DbContext
Pilih Generator EF 5.x DbContext untuk C#, masukkan BloggingModel sebagai nama dan klik Tambahkan
3. Membuat Database
Mengingat model kami, Entity Framework dapat menghitung skema database yang akan memungkinkan kami menyimpan dan mengambil data menggunakan model.
Server database yang diinstal dengan Visual Studio berbeda tergantung pada versi Visual Studio yang telah Anda instal:
- Jika Anda menggunakan Visual Studio 2010, Anda akan membuat database SQL Express.
- Jika Anda menggunakan Visual Studio 2012, Maka Anda akan membuat database LocalDB .
Mari kita lanjutkan dan hasilkan database.
Klik kanan pada permukaan desain dan pilih Buat Database dari Model...
Klik Koneksi ion Baru... dan tentukan LocalDB atau SQL Express, bergantung pada versi Visual Studio mana yang Anda gunakan, masukkan ModelFirst.Blogging sebagai nama database.
Pilih OK dan Anda akan ditanya apakah Anda ingin membuat database baru, pilih Ya
Pilih Berikutnya dan Perancang Kerangka Kerja Entitas akan menghitung skrip untuk membuat skema database
Setelah skrip ditampilkan, klik Selesai dan skrip akan ditambahkan ke proyek Anda dan dibuka
Klik kanan pada skrip dan pilih Jalankan, Anda akan diminta untuk menentukan database yang akan disambungkan, menentukan LocalDB atau SQL Server Express, tergantung pada versi Visual Studio mana yang Anda gunakan
4. Membaca & Menulis Data
Sekarang setelah kita memiliki model, saatnya untuk menggunakannya untuk mengakses beberapa data. Kelas yang akan kami gunakan untuk mengakses data dibuat secara otomatis untuk Anda berdasarkan file EDMX.
Cuplikan layar ini berasal dari Visual Studio 2012, jika Anda menggunakan Visual Studio 2010 file BloggingModel.tt dan BloggingModel.Context.tt akan langsung berada di bawah proyek Anda daripada disarangkan di bawah file EDMX.
Terapkan metode Utama di Program.cs seperti yang ditunjukkan di bawah ini. Kode ini membuat instans baru dari konteks kami dan kemudian menggunakannya untuk menyisipkan Blog baru. Kemudian menggunakan kueri LINQ untuk mengambil semua Blog dari database yang diurutkan menurut abjad menurut Judul.
class Program
{
static void Main(string[] args)
{
using (var db = new BloggingContext())
{
// Create and save a new Blog
Console.Write("Enter a name for a new Blog: ");
var name = Console.ReadLine();
var blog = new Blog { Name = name };
db.Blogs.Add(blog);
db.SaveChanges();
// Display all Blogs from the database
var query = from b in db.Blogs
orderby b.Name
select b;
Console.WriteLine("All blogs in the database:");
foreach (var item in query)
{
Console.WriteLine(item.Name);
}
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
}
}
Anda sekarang dapat menjalankan aplikasi dan mengujinya.
Enter a name for a new Blog: ADO.NET Blog
All blogs in the database:
ADO.NET Blog
Press any key to exit...
5. Menangani Perubahan Model
Sekarang saatnya untuk membuat beberapa perubahan pada model kita, ketika kita membuat perubahan ini kita juga perlu memperbarui skema database.
Kita akan mulai dengan menambahkan entitas Pengguna baru ke model kita.
Tambahkan nama entitas Pengguna baru dengan Nama Pengguna sebagai nama kunci dan String sebagai jenis properti untuk kunci
Klik kanan pada properti Nama Pengguna pada permukaan desain dan pilih Properti, Di jendela Properti ubah pengaturan MaxLength menjadi 50Ini membatasi data yang dapat disimpan dalam nama pengguna menjadi 50 karakter
Menambahkan properti skalar DisplayName ke entitas Pengguna
Kami sekarang memiliki model yang diperbarui dan kami siap untuk memperbarui database untuk mengakomodasi jenis entitas Pengguna baru kami.
- Klik kanan pada permukaan desain dan pilih Buat Database dari Model..., Kerangka Kerja Entitas akan menghitung skrip untuk membuat ulang skema berdasarkan model yang diperbarui.
- Klik Selesai
- Anda mungkin menerima peringatan tentang menimpa skrip DDL yang ada dan bagian pemetaan dan penyimpanan model, klik Ya untuk kedua peringatan ini
- Skrip SQL yang diperbarui untuk membuat database dibuka untuk Anda
Skrip yang dihasilkan akan menghilangkan semua tabel yang ada lalu membuat ulang skema dari awal. Ini mungkin berfungsi untuk pengembangan lokal tetapi tidak layak untuk mendorong perubahan ke database yang telah disebarkan. Jika Anda perlu menerbitkan perubahan pada database yang telah disebarkan, Anda harus mengedit skrip atau menggunakan alat perbandingan skema untuk menghitung skrip migrasi. - Klik kanan pada skrip dan pilih Jalankan, Anda akan diminta untuk menentukan database yang akan disambungkan, menentukan LocalDB atau SQL Server Express, tergantung pada versi Visual Studio mana yang Anda gunakan
Ringkasan
Dalam panduan ini kami melihat pengembangan Model First, yang memungkinkan kami membuat model di EF Designer dan kemudian menghasilkan database dari model tersebut. Kami kemudian menggunakan model untuk membaca dan menulis beberapa data dari database. Terakhir, kami memperbarui model lalu membuat ulang skema database agar sesuai dengan model.