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

Posted at : Jun/23/2020
1729 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
xdwe
Input code above below (Case Sensitive) :

ABOUT ME

Rully Yulian MF
Rully Yulian Muhammad Firmansyah | Founder & IT Trainer Native Enterprise | MCT (2008-2019) | MVP (2009-2016) | Xamarin Certified Professional | MTA | MCAD | MCPD | MOS | Bandung, West Java, Indonesia.

[Read More...]

TOP DOWNLOAD

Mapping Hak Akses User Pada MenuStrip Sampai Control Button
downloaded 6982 times

Bagaimana caranya menginstal database ketika deploying sebuah aplikasi?
downloaded 4893 times

Simple Voice Engine Application With Sound Player Class...
downloaded 4045 times

Change Group,Sort Order, Filtering By Date in Crystal Reports
downloaded 3460 times

WinForms DataGrid Paging With SqlDataAdapter
downloaded 2881 times


LINKS

CERTIFICATIONS

Xamarin Certified
MOS 2007
MCT
MCPD
MCTS
MCAD.NET
ASP.NET Brainbench

NATIVE ENTERPRISE

Native Enterprise - IT Training

FOLLOW ME

Youtube  Facebook  Instagram  LinkedIn   Twitter

RSS


NATIVE ENTERPRISE NEWS

© Copyright 2006 - 2024   Rully Yulian MF   All rights reserved.