Database-First approach (데이터베이스 우선 접근 방식)은 이미 데이터베이스가 있고 앱에 대한 도메인 객체를 생성해야 하는 경우입니다. 이 접근 방식은 데이터베이스 중심적인 개발자이거나 데이터베이스가 이미 존재하고(예: 레거시 시스템) 앱이 이 데이터베이스와 통신하기만 하면 되는 경우에 특히 유용합니다.
dotnet tool 설치하기
dotnet -- version
dotnet tool list --global
dotnet tool install dotnet-ef --global
dotnet new classlib -f net8.0
dotnet add <project-name>.csproj package Microsoft.EntityFrameworkCore.Design
dotnet add <project-name>.csproj package Microsoft.EntityFrameworkCore.SqlServer
dotnet ef dbcontext scaffold "Server=.;Database=BikeStores2;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -o Models --project <project-name>.csproj
이 명령어를 실행하면, AspNetUser 모델을 기반으로 기본적인 CRUD 기능을 수행할 수 있는 컨트롤러 (AspNetUsersController)와 관련된 뷰 파일들이 자동으로 생성됩니다. 이는 개발자가 수작업으로 코드를 작성하는 시간을 절약하고, 표준화된 코드를 빠르게 생성하는 데 유용합니다.
using Microsoft.EntityFrameworkCore;
using EfDemoApp.Models;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllersWithViews();
// Configure DbContext
builder.Services.AddDbContext<DbIntraunivGwContext>(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();