Membuat Database menggunakan EF Core
Entity Framework Core atau biasa dikenal dengan sebutan EF Core, merupakan Framework Entity yang dimiliki oleh Microsoft. EF Core ditujukan untuk mempermudah para developer .NET dalam menagani Database pada Object-Relational/Mapper (ORM)
Pada tutorial ini, saya masih menggunakan Visual Studio 2022 versi Community, Jika kalian memiliki versi Enterprise tentu lebih baik, tidak perlu downgrade ke versi Community. Namun, jika kalian belum memilikinya kalian bisa mendownload pada link dibawah untuk versi Community. Versi Community merupakan versi gratis dari Visual Studio, meski begitu, versi Community tetaplah sangat berguna dalam proses pembelajaran .NET dan C#.
1. Data pada Database
Tema pada tutorial ini, adalah Data untuk Adopsi kucing. Adopsi kucing pada tutorial ini hanyalah contoh, maka dari itu untuk membuat Database adopsi kucing, diperlukan beberapa tabel yaitu
1. 1 Customer
- Id (Guid)
- NationalId (String)
- Name (String)
- Phone (String)
- Address (String)
1.2 Cat
- Id (Guid)
- PetNumber (Int)
- DateOfEntry (DateTime)
- Race (String)
- Age (int)
1.3 Adopt
- Id (Guid)
- AdoptPlaced(Int)
- AdoptFulFilled(DateTime)
- CustomerId
1.4 AdoptDetail
- Id (Guid)
- CatHealth(bool)
- CatId(DateTime)
- CustomerId
2. Proses Pembuatan
Buatlah sebuah consoleApp pada solution
Kemudian buatlah class pada sebuah folder, disini saya memberi nama folder yaitu Models. Pada folder Models berisi class yaitu Customer, Adopt, AdoptDetail dan Cat
Setalah membuat class, kita dapat membuat isi dari masing masing class. Isi dari class tersebut, ialah paramater yang akan digunakan pada tabel di database seperti dibawah ini
Adopt.cs
namespace CatLovers.Models;public class Adopt{public int Id { get; set; }public DateTime AdoptPlaced { get; set; }public DateTime? AdoptFulfilled { get; set; }public int CustomerId { get; set; }public Customer Customer { get; set; } = null!;public ICollection<AdoptDetail> AdoptDetails { get; set; } = null!;}
AdoptDetail.cs
namespace CatLovers.Models;public class AdoptDetail{public int Id { get; set; }public bool CatHealth { get; set; }public int CatId { get; set; }public int AdoptId { get; set; }public Adopt adopt { get; set; } = default!;public Cat cat { get; set; } = default!;}
Cat.cs
namespace CatLovers.Models;public class Cat{public int Id { get; set; }public int PetNumber { get; set; }public DateTime DateOfEntry { get; set; }public string Race { get; set; } = default!;public int Age { get; set; }}
Customer.cs
namespace CatLovers.Models;public class Customer{public int Id { get; set; }public string NationalId { get; set; } = default!;public string Name { get; set; } = default!;public string Phone { get; set; } = default!;public string Address { get; set; } = default!;public ICollection<Adopt> Adopts { get; set; } = default!;}
Setelah membuat isi class, langkah selanjutnya ialah menginstall library yang dibutuhkan melalui NuGet Packages, yang berisi seperti ini
Sehingga setelah diinstall akan csproj akan berubah seperti tampilan dibawah
Setelah itu, kita akan membuat folder data, dimana akan berisi class yang mempunyai nama CatLoversContext.cs
Isi dari class tersebut ialah nama-nama tabel yang akan dibuat pada database, seperti dibawah ini
CatLoversContext.cs
using CatLovers.Models;using Microsoft.EntityFrameworkCore;namespace CatLovers.Data;public class CatLoversContext : DbContext{public DbSet<Customer> Customers { get; set; } = null!;public DbSet<Adopt> Adopt { get; set; } = null!;public DbSet<Cat> Cat { get; set; } = null!;public DbSet<AdoptDetail> AdoptDetail { get; set; } = null!;protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){optionsBuilder.UseSqlServer(@"Connect String");}}
Pada bagian Connect string dapat diganti dengan connet string yang tersedia pada properties di SQL Server. caranya ialaah pertama pilih SQL Server
Setelah itu klik kanan dan pilih properties (paling bawah)
Selajutnya ialah copy tulisan, yang terdapat pada isi Connection string, ganti tulisan Connect string di CatLoversContext.cs dengan tulisan tersebut
Pada kesempatan kali ini, kita akan menggunakan .NET CLI, untuk itu diperlukan untuk menginstall dotnet ef di Command Prompt, dengan cara dibawah
dotnet tool install -g dotnet-ef
Dalam proses ini dibutuhkan migration, maka dari itu untuk pembuatan migration, kita dapat menulis di Command Prompt, seperti ini
dotnet ef migrations add InitialCreate
setelah sukses, maka akan muncul tampilan seperti dibawah
kita akan membuat database yang lengkap dengan tabelnya dengan cara, mengetikan ini di Command Prompt
dotnet ef database update
Jika berhasil, akan muncul tampilan tabel dengan nama yang telah kita buat