Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Di bagian ini, Anda akan menambahkan kelas model yang menentukan entitas database. Kemudian Anda akan menambahkan pengontrol API Web yang melakukan operasi CRUD pada entitas tersebut.
Menambahkan Kelas Model
Dalam tutorial ini, kita akan membuat database dengan menggunakan pendekatan "Code First" untuk Entity Framework (EF). Dengan Code First, Anda menulis kelas C# yang sesuai dengan tabel database, dan EF membuat database. (Untuk informasi selengkapnya, lihat Pendekatan Pengembangan Kerangka Kerja Entitas.)
Kita mulai dengan mendefinisikan objek domain kita sebagai POCO (objek CLR biasa). Kami akan membuat POCO berikut:
- Penulis
- Buku
Di Penjelajah Solusi, klik kanan folder Model. Pilih Tambahkan, lalu pilih Kelas. Beri nama kelas Author.
Ganti semua kode boilerplate di Author.cs dengan kode berikut.
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace BookService.Models
{
public class Author
{
public int Id { get; set; }
[Required]
public string Name { get; set; }
}
}
Tambahkan kelas lain bernama Book, dengan kode berikut.
using System.ComponentModel.DataAnnotations;
namespace BookService.Models
{
public class Book
{
public int Id { get; set; }
[Required]
public string Title { get; set; }
public int Year { get; set; }
public decimal Price { get; set; }
public string Genre { get; set; }
// Foreign Key
public int AuthorId { get; set; }
// Navigation property
public Author Author { get; set; }
}
}
Entity Framework akan menggunakan model ini untuk membuat tabel database. Untuk setiap model, Id properti akan menjadi kolom kunci utama tabel database.
Di kelas Buku, AuthorId mendefinisikan kunci asing ke Author dalam tabel. (Untuk kesederhanaan, saya berasumsi bahwa setiap buku memiliki satu penulis.) Kelas buku juga berisi properti navigasi ke yang terkait Author. Anda dapat menggunakan properti navigasi untuk mengakses yang terkait Author dalam kode. Saya mengatakan lebih lanjut tentang properti navigasi di bagian 4, Menangani Hubungan Entitas.
Menambahkan Pengontrol API Web
Di bagian ini, kita akan menambahkan pengontrol API Web yang mendukung operasi CRUD (membuat, membaca, memperbarui, dan menghapus). Pengontrol akan menggunakan Kerangka Kerja Entitas untuk berkomunikasi dengan lapisan database.
Pertama, Anda dapat menghapus file Controllers/ValuesController.cs. File ini berisi contoh pengontrol Api Web, tetapi Anda tidak memerlukannya untuk tutorial ini.
Selanjutnya, bangun proyek. Perancah API Web menggunakan pantulan untuk menemukan kelas model, sehingga membutuhkan rakitan yang dikompilasi.
Di Penjelajah Solusi, klik kanan folder Pengontrol. Pilih Tambahkan, lalu pilih Pengontrol.
Dalam dialog Tambahkan Perancah , pilih "Pengontrol API Web 2 dengan tindakan, menggunakan Kerangka Kerja Entitas". Klik Tambahkan.
Dalam dialog Tambahkan Pengontrol , lakukan hal berikut:
- Di menu drop-down Kelas model, pilih
Authorkelas . (Jika Anda tidak melihatnya tercantum di menu dropdown, pastikan Anda membuat proyek.) - Periksa "Gunakan tindakan pengontrol asinkron".
- Biarkan nama pengontrol sebagai "AuthorsController".
- Klik tombol plus (+) di samping Kelas Konteks Data.
Dalam dialog Konteks Data Baru , biarkan nama default dan klik Tambahkan.
Klik Tambahkan untuk menyelesaikan dialog Tambahkan Pengontrol . Dialog menambahkan dua kelas ke proyek Anda:
-
AuthorsControllermendefinisikan pengontrol API Web. Pengontrol mengimplementasikan REST API yang digunakan klien untuk melakukan operasi CRUD pada daftar penulis. -
BookServiceContextmengelola objek entitas selama durasi, yang mencakup pengisian objek dengan data dari database, pelacakan perubahan, dan data yang bertahan ke database. Ini mewarisi dariDbContext.
Pada titik ini, bangun proyek lagi. Sekarang melalui langkah yang sama untuk menambahkan pengontrol API untuk Book entitas. Kali ini, pilih Book untuk kelas model, dan pilih kelas yang ada BookServiceContext untuk kelas konteks data. (Jangan membuat konteks data baru.) Klik Tambahkan untuk menambahkan pengontrol.