How to Generate Context Class, Entity Model, and AspNet Identity Tables Using dotnet-ef Tools in Asp.Net Core

ASP.NET Core , Posted at : Jun/23/2020  
249 Views   0 Comments

aspnet core identityDalam artikel ini akan dijelaskan penggunaan tools dotnet-ef untuk menghasilkan file context class, entity model dari database sql server dan tabel-tabel yang berhubungan dengan aspnet identity seperti tabel aspnetusers, aspnetroles, dan lainnya. Tools tersebut sangat bermanfaat untuk menghasilkan class secara otomatis tanpa harus membuatnya secara manual.

 

Berikut langkah-langkahnya:

1). Langkah pertama tentunya membuat asp.net web core project.

2). Cek dotnet-ef tools di komputer yang digunakan apakah sudah terinstal atau belum dengan menggunakan perintah berikut di command prompt:

dotnet-ef --version

3). Apabila dotnet-ef belum terinstal maka lakukan instalasi dengan salah satu perintah berikut:

dotnet tool install --global dotnet-ef
dotnet tool install --global dotnet-ef --version 3.1.1

Opsi global digunakan agar tools tersebut dapat diakses dari lokasi manapun. Jika ingin install dengan versi tertentu gunakan perintah yang kedua. Perintah pertama akan menginstal tools dengan versi terbaru. Untuk uninstall gunakan perintah berikut:

dotnet tool uninstall --global dotnet-ef

4). Buat folder Context dan Model di root project yang nantinya digunakan untuk menyimpan context dan entity class.

5). Tambahkan package berikut ini, jangan lupa untuk dieksekusi pada direktori project:

dotnet add package Microsoft.EntityFrameworkCore.Design
dotnet add package Microsoft.EntityFrameworkCore.SqlServer

Package tersebut digunakan untuk scaffolding context dan entity class.

6). Ketikkan perintah berikut untuk menghasilkan context dan entity class dari beberapa tabel. Disini saya menggunakan database sample northwind:

dotnet ef dbcontext scaffold "Server=localhost;Database=northwind;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -o Model -t Categories -t Suppliers -t Products --context-dir Context -c NorthwindContext

Pada perintah di atas terdapat string koneksi ke database, untuk autentikasi dapat menggunakan windows atau sql autentikasi, silahkan disesuaikan.

Opsi –o digunakan sebagai perintah output entity class ke folder Model yang sudah dibuat sebelumnya. Apabila semua tabel akan digenerate semua class nya maka cukup gunakan opsi –t atau --table, namun apabila yang dihasilkan hanya beberapa tabel saja definisikan nama-nama tabel tersebut setelah opsi –t seperti pada contoh di atas yang akan menghasilkan entity class untuk tabel categories, suppliers, dan products.

Opsi --context-dir Context digunakan untuk menghasilkan context class pada folder Context yang sudah dibuat sebelumnya, nama class yang akan dihasilkan yaitu NorthwindContext.

Cek file-file yang dihasilkan di folder Context dan Model.

7). Tambahkan package berikut untuk akses IdentityDbContext class di ApplicationDbContext class.

dotnet add package Microsoft.AspNetCore.Identity.EntityFrameworkCore 

8). Buat ApplicationUser class di folder Model dan ketikkan kode berikut: 

public class ApplicationUser:IdentityUser
{
}

9). Buat ApplicationDbContext class di folder context dan ketikkan kode berikut:

 public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) :
base(options)
    {
    }
}

10). Register NorthwindContext dan ApplicationDbContext class pada prosedur ConfigureServices di file Startup.cs. Koneksi ke database dapat menggunakan windows atau sql authentication, silahkan disesuaikan.

services.AddDbContext<NorthwindContext>(opt =>
     opt.UseSqlServer("server=localhost;database=northwind;uid=sa;pwd=sql2019"));

services.AddDbContext<ApplicationDbContext>(opt =>
     opt.UseSqlServer("server=localhost;database=northwind;uid=sa;pwd=sql2019"));

11). Ketikkan perintah berikut untuk menghasilkan script dengan nama file IdentityTable untuk generate aspnetusers tabel dll:

dotnet ef migrations add IdentityTable --context ApplicationDbContext

Cek file-file yang dihasilkan di folder Migrations.

12). Eksekusi script migrations yang dihasilkan pada langkah-11 untuk menghasilkan tabel-tabel aspnet identity di database:

dotnet ef database update --context ApplicationDbContext

Berikut struktur project yang dihasilkan:

aspnet core identity

Tabel-tabel aspnet identity yang dihasilkan:

aspnet core identity

Selamat mencoba :-)


InfoEbook-ebook yang tersedia yang dapat dipesan secara langsung atau melalui google play store.



[Comments]

[Write your comment]
Name (required)
Email (required-will not published)
 
Comment

bycx
Input code above below (Case Sensitive) :
About Me 
Rully Yulian MF
Rully Yulian Muhammad Firmansyah | Founder Native Enterprise | Microsoft Certified Trainer (2008-2019) | IT Trainer at Native Enterprise | IT Consultant | Software Developer | Xamarin Certified Professional | MVP (2009-2016) | MTA | MCAD | MCPD | MOS | Bandung, West Java, Indonesia.
[Read More...]
Top Download 
Mapping Hak Akses User Pada MenuStrip Sampai Control Button : Downloaded 6832 times  
Bagaimana caranya menginstal database ketika deploying sebuah aplikasi? : Downloaded 4869 times  
Simple Voice Engine Application With Sound Player Class... : Downloaded 3986 times  
Change Group,Sort Order, Filtering By Date in Crystal Reports : Downloaded 3445 times  
WinForms DataGrid Paging With SqlDataAdapter : Downloaded 2862 times  
Links 
Certifications 
Xamarin Certified
MOS 2007
MCT
MCPD
MCTS
MCAD.NET
ASP.NET Brainbench
Native Enterprise 
Follow Me 
Youtube  Facebook  Instagram  LinkedIn   Twitter
Syndication 
Hosted By 
Native Enterprise News 
© Copyright 2006 - 2020   Rully Yulian MF   All rights reserved.