[C#/ASP.NET MVC/.NETCORE] Entity Framework Core를 사용해 SQL Server 접속하기
C#/ASP.NET MVC 2020. 10. 18. 02:001. 비주얼 스튜디오를 실행한다.
2. [Visual Studio 2019] 대화 상자에서 [새 프로젝트 만들기] 항목을 클릭한다.
3. [새 프로젝트 만들기] 대화 상자에서 [ASP.NET Core 웹 애플리케이션] 항목을 선택하고 [다음] 버튼을 클릭한다.
4. [새 프로젝트 구성] 대화 상자에서 아래와 같이 입력하고 [만들기] 버튼을 클릭한다.
5. [새 ASP.NET Core 웹 애플리케이션 만들기] 대화 상자에서 아래와 같이 선택하고 [만들기] 버튼을 클릭한다.
6. 비주얼 스튜디오에서 [도구] / [NuGet 패키지 관리자] / [패키지 관리자 콘솔] 메뉴를 클릭한다.
7. 패키지 관리자 콘솔에서 아래와 같이 패키지들을 추가한다.
Install-Package Microsoft.EntityFrameworkCore
Install-Package Microsoft.EntityFrameworkCore.Tools
Install-Package Microsoft.EntityFrameworkCore.SqlServer
8. Models 폴더를 추가하고 아래와 같이 Movie.cs 파일을 추가한다.
▶ Models/Movie.cs
using System;
using System.ComponentModel.DataAnnotations;
namespace TestProject.Models
{
/// <summary>
/// 영화
/// </summary>
public class Movie
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Property
////////////////////////////////////////////////////////////////////////////////////////// Public
#region ID - ID
/// <summary>
/// ID
/// </summary>
public int ID { get; set; }
#endregion
#region 제목 - Title
/// <summary>
/// 제목
/// </summary>
public string Title { get; set; }
#endregion
#region 릴리즈 일자 - ReleaseDate
/// <summary>
/// 릴리즈 일자
/// </summary>
[DataType(DataType.Date)]
public DateTime ReleaseDate { get; set; }
#endregion
#region 장르 - Genre
/// <summary>
/// 장르
/// </summary>
public string Genre { get; set; }
#endregion
#region 가격 - Price
/// <summary>
/// 가격
/// </summary>
public decimal Price { get; set; }
#endregion
}
}
9. Data 폴더를 추가하고 아래와 같이 DatabaseContext.cs 파일을 추가한다.
▶ Data/DatabaseContext.cs
using Microsoft.EntityFrameworkCore;
using TestProject.Models;
namespace TestProject.Data
{
/// <summary>
/// 데이터베이스 컨텍스트
/// </summary>
public class DatabaseContext : DbContext
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Property
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 영화 - Movie
/// <summary>
/// 영화
/// </summary>
public DbSet<Movie> Movie { get; set; }
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - DatabaseContext(options)
/// <summary>
/// 생성자
/// </summary>
/// <param name="options">옵션</param>
public DatabaseContext(DbContextOptions<DatabaseContext> options) : base(options)
{
}
#endregion
}
}
10. appsettings.json 파일에 아래와 같이 코드를 추가한다.
▶ appsettings.json
{
"Logging" :
{
"LogLevel" :
{
"Default" : "Information",
"Microsoft" : "Warning",
"Microsoft.Hosting.Lifetime" : "Information"
}
},
"AllowedHosts" : "*",
"ConnectionStrings" :
{
"DefaultConnection" : "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=TestDB;Integrated Security=True;"
}
}
11. Starup.cs 파일에 아래와 같이 코드를 추가한다.
▶ Startup.cs
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using TestProject.Data;
namespace TestProject
{
/// <summary>
/// 시작
/// </summary>
public class Startup
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Property
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 구성 - Configuration
/// <summary>
/// 구성
/// </summary>
public IConfiguration Configuration { get; }
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - Startup(configuration)
/// <summary>
/// 생성자
/// </summary>
/// <param name="configuration">구성</param>
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 서비스 컬렉션 구성하기 - ConfigureServices(services)
/// <summary>
/// 서비스 컬렉션 구성하기
/// </summary>
/// <param name="services">서비스 컬렉션</param>
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<DatabaseContext>
(
options =>
{
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
}
);
services.AddRazorPages();
}
#endregion
#region 구성하기 - Configure(app, environment)
/// <summary>
/// 구성하기
/// </summary>
/// <param name="app">애플리케이션 빌더</param>
/// <param name="environment">웹 호스트 환경</param>
public void Configure(IApplicationBuilder app, IWebHostEnvironment environment)
{
if(environment.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
});
}
#endregion
}
}
12. 비주얼 스튜디오에서 [보기] / [SQL Server 개체 탐색기] 메뉴를 클릭한다.
13. [SQL Server 개체 탐색기]의 [SQL Server] / [(localdb)\MSSQLLocalDB (...)] / [데이터베이스] 노드에서 마우스 오른쪽 버튼을 클릭하고, 표시되는 컨텍스트 메뉴에서 [새 데이터베이스 추가] 메뉴를 클릭한다.
14. [데이터베이스 만들기] 대화 상자에서 아래와 같이 입력하고 [확인] 버튼을 클릭한다.
15. [패키지 관리자 콘솔]에서 아래 명령을 실행한다.
Add-Migration Movie
Update-DataBase
댓글을 달아 주세요