Bagikan melalui


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

Video: WMV | MP4 | WMV (ZIP)

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

    Create Empty Model

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

    Add Blog Entity

  • 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

    Add Association MF

Kita sekarang memiliki model sederhana yang dapat kita hasilkan database dari dan gunakan untuk membaca dan menulis data.

Model Initial

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

    DbContext Template

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.

    LocalDB Connection MF

    Sql Express Connection MF

  • 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.

Generated Classes

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

    Add User Entity

  • 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.