이 섹션에서는 Entity Framework Core를 사용하여 .NET Core Web API 애플리케이션을 SQL Server 데이터베이스에 연결하는 과정을 다룹니다.
이 과정은 애플리케이션의 데이터 모델을 데이터베이스와 동기화하고, 데이터에 대한 CRUD 작업을 수행할 수 있게 합니다.
- 연결 문자열 설정:
appsettings.json
파일에 데이터베이스 연결을 위한 연결 문자열을 정의합니다. 연결 문자열에는 서버 이름, 데이터베이스 이름, 신뢰할 수 있는 연결 옵션 등이 포함됩니다.
- ApplicationDbContext 구성:
ApplicationDbContext
클래스를 생성하여 Entity Framework Core의DbContext
를 상속받습니다. 이 클래스는 애플리케이션의 데이터 모델을 관리하고, 데이터베이스와의 모든 상호 작용을 처리합니다.DbSet<Plant>
프로퍼티를 추가하여 Plant 엔티티를 관리합니다. 이DbSet
은 데이터베이스 내의 Plants 테이블과 매핑됩니다.
- DbContext와 연결 문자열 연결:
Program.cs
파일에서builder.Services.AddDbContext<ApplicationDbContext>()
메서드를 사용하여ApplicationDbContext
를 서비스 컨테이너에 등록합니다. 이 과정에서 데이터베이스 연결 문자열을ApplicationDbContext
에 전달합니다.UseSqlServer()
메서드를 사용하여 SQL Server 데이터베이스와의 연결을 설정합니다. 연결 문자열은builder.Configuration.GetConnectionString("DefaultSQLConnection")
을 통해appsettings.json
에서 가져옵니다.
- DbContext 생성자 구성:
ApplicationDbContext
내에 생성자를 추가하여DbContextOptions<ApplicationDbContext>
를 매개변수로 받습니다. 이 생성자는 기본 클래스인DbContext
의 생성자에 옵션을 전달하여 데이터베이스 설정을 완료합니다.
- 연결 문자열의 중요성:
- 연결 문자열은 애플리케이션과 데이터베이스 간의 연결을 설정하는 데 필수적인 정보를 제공합니다. 올바른 연결 문자열 설정은 데이터베이스 작업의 성공에 매우 중요합니다.
- 실습 예시:
- 실습에서는 SQL Server Management Studio(SSMS)를 사용하여 데이터베이스 연결을 확인하고,
ApplicationDbContext
를 통해 데이터베이스 작업을 수행하는 방법을 배웁니다.
- 실습에서는 SQL Server Management Studio(SSMS)를 사용하여 데이터베이스 연결을 확인하고,
// ApplicationDbContext.cs
// DbContext 생성자 구성
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
// Program.cs
//DbContext와 연결 문자열 연결
builder.Services.AddDbContext<ApplicationDbContext>(option => {
option.UseSqlServer(builder.Configuration.GetConnectionString("DefaultSQLConnection"));
});
Entity Framework Core와 SQL Server를 사용하여 .NET Core Web API 애플리케이션에 데이터베이스 기능을 통합하는 과정은 데이터 중심 애플리케이션 개발의 핵심적인 부분입니다. 이 접근 방식을 통해 개발자는 데이터베이스 스키마를 코드를 통해 직접 관리하고, 애플리케이션의 데이터 모델과 데이터베이스 간의 동기화를 유지할 수 있습니다.
프로젝트 리소스
https://github.com/kimdaewoong2022/MorePlants_WebAPI/tree/ec46e426d06e38bc4fdc79ed9d86fbb2af61c195