Panduan ini menunjukkan cara memetakan jenis entitas ke dua tabel dengan memodifikasi model dengan Perancang Kerangka Kerja Entitas (Desainer EF). Anda dapat memetakan entitas ke beberapa tabel saat tabel berbagi kunci umum. Konsep yang berlaku untuk memetakan jenis entitas ke dua tabel mudah diperluas untuk memetakan jenis entitas ke lebih dari dua tabel.
Gambar berikut menunjukkan jendela utama yang digunakan saat bekerja dengan EF Designer.
Prasyarat
Visual Studio 2012 atau Visual Studio 2010, edisi Ultimate, Premium, Professional, atau Web Express.
Membuat Database
Server database yang diinstal dengan Visual Studio berbeda tergantung pada versi Visual Studio yang telah Anda instal:
Jika Anda menggunakan Visual Studio 2012, Maka Anda akan membuat database LocalDB.
Jika Anda menggunakan Visual Studio 2010, Anda akan membuat database SQL Express.
Pertama, kita akan membuat database dengan dua tabel yang akan kita gabungkan menjadi satu entitas.
Membuka Visual Studio
Tampilan -> Penjelajah Server
Klik kanan pada Data Koneksi ions -> Tambahkan Koneksi ion...
Jika Anda belum tersambung ke database dari Server Explorer sebelum Anda harus memilih Microsoft SQL Server sebagai sumber data
Koneksi ke LocalDB atau SQL Express, tergantung pada yang telah Anda instal
Masukkan EntitySplitting sebagai nama database
Pilih OK dan Anda akan ditanya apakah Anda ingin membuat database baru, pilih Ya
Database baru sekarang akan muncul di Server Explorer
Jika Anda menggunakan Visual Studio 2012
Klik kanan pada database di Server Explorer dan pilih Kueri Baru
Salin SQL berikut ke dalam kueri baru, lalu klik kanan pada kueri dan pilih Jalankan
Jika Anda menggunakan Visual Studio 2010
Pilih Data -> Editor SQL Bertransaksi -> Koneksi kueri Baru...
Masukkan .\SQLEXPRESS sebagai nama server dan klik OK
Pilih database EntitySplitting dari menu drop-down di bagian atas editor kueri
Salin SQL berikut ke dalam kueri baru, lalu klik kanan pada kueri dan pilih Jalankan SQL
Pada menu File, arahkan ke Baru, lalu klik Proyek.
Di panel kiri, klik Visual C#, lalu pilih templat Aplikasi Konsol.
Masukkan MapEntityToTablesSample sebagai nama proyek dan klik OK.
Klik Tidak jika diminta untuk menyimpan kueri SQL yang dibuat di bagian pertama.
Membuat Model berdasarkan Database
Klik kanan nama proyek di Penjelajah Solusi, arahkan ke Tambahkan, lalu klik Item Baru.
Pilih Data dari menu sebelah kiri lalu pilih ADO.NET Model Data Entitas di panel Templat.
Masukkan MapEntityToTablesModel.edmx untuk nama file, lalu klik Tambahkan.
Dalam kotak dialog Pilih Konten Model, pilih Hasilkan dari database, lalu klik Berikutnya.
Pilih koneksi EntitySplitting dari menu drop-down dan klik Berikutnya.
Dalam kotak dialog Pilih Objek Database Anda, centang kotak di samping simpul Tabel .
Ini akan menambahkan semua tabel dari database EntitySplitting ke model.
Klik Selesai.
Perancang Entitas, yang menyediakan permukaan desain untuk mengedit model Anda, ditampilkan.
Memetakan Entitas ke Dua Tabel
Dalam langkah ini kita akan memperbarui jenis entitas Orang untuk menggabungkan data dari tabel Orang dan PersonInfo .
Pilih properti Email dan Telepon dari **PersonInfo **entitas dan tekan tombol Ctrl+X.
Pilih **Orang **entitas dan tekan tombol Ctrl+V .
Pada permukaan desain, pilih entitas PersonInfo dan tekan tombol Hapus pada keyboard.
Klik Tidak saat ditanya apakah Anda ingin menghapus tabel PersonInfo dari model, kami akan memetakannya ke entitas Orang .
Langkah berikutnya memerlukan jendela Detail Pemetaan. Jika Anda tidak dapat melihat jendela ini, klik kanan permukaan desain dan pilih Detail Pemetaan.
Pilih jenis entitas Orang dan klik< Tambahkan Tabel atau Tampilan> di jendela Detail Pemetaan.
Pilih **PersonInfo ** dari daftar drop-down.
Jendela Detail Pemetaan diperbarui dengan pemetaan kolom default, ini baik-baik saja untuk skenario kami.
Jenis entitas Orang sekarang dipetakan ke tabel Orang dan PersonInfo.
Menggunakan Model
Tempelkan kode berikut dalam metode Utama.
using (var context = new EntitySplittingEntities())
{
var person = new Person
{
FirstName = "John",
LastName = "Doe",
Email = "john@example.com",
Phone = "555-555-5555"
};
context.People.Add(person);
context.SaveChanges();
foreach (var item in context.People)
{
Console.WriteLine(item.FirstName);
}
}
Kompilasi dan jalankan aplikasi.
Pernyataan T-SQL berikut dijalankan terhadap database sebagai hasil dari menjalankan aplikasi ini.
Dua pernyataan INSERT berikut dijalankan sebagai hasil dari menjalankan konteks. SaveChanges(). Mereka mengambil data dari entitas Orang dan membaginya antara tabel Orang dan PersonInfo .
SELECT berikut dijalankan sebagai hasil dari menghitung orang-orang dalam database. Ini menggabungkan data dari tabel Person dan PersonInfo .
Berkolaborasi dengan kami di GitHub
Sumber untuk konten ini dapat ditemukan di GitHub, yang juga dapat Anda gunakan untuk membuat dan meninjau masalah dan menarik permintaan. Untuk informasi selengkapnya, lihat panduan kontributor kami.
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik:
Modul ini memandu Anda melalui langkah-langkah untuk membuat proyek akses data. Anda tersambung ke database relasional dan membuat kueri buat, baca, perbarui, dan hapus (CRUD) dengan menggunakan Entity Framework Core (EF Core).