4. DBContext

4-5. 연결 문자열 사용

이 섹션에서는 Entity Framework Core를 사용하여 .NET Core Web API 애플리케이션을 SQL Server 데이터베이스에 연결하는 과정을 다룹니다.

이 과정은 애플리케이션의 데이터 모델을 데이터베이스와 동기화하고, 데이터에 대한 CRUD 작업을 수행할 수 있게 합니다.

  1. 연결 문자열 설정:
    • appsettings.json 파일에 데이터베이스 연결을 위한 연결 문자열을 정의합니다. 연결 문자열에는 서버 이름, 데이터베이스 이름, 신뢰할 수 있는 연결 옵션 등이 포함됩니다.
  2. ApplicationDbContext 구성:
    • ApplicationDbContext 클래스를 생성하여 Entity Framework Core의 DbContext를 상속받습니다. 이 클래스는 애플리케이션의 데이터 모델을 관리하고, 데이터베이스와의 모든 상호 작용을 처리합니다.DbSet<Plant> 프로퍼티를 추가하여 Plant 엔티티를 관리합니다. 이 DbSet은 데이터베이스 내의 Plants 테이블과 매핑됩니다.
  3. DbContext와 연결 문자열 연결:
    • Program.cs 파일에서 builder.Services.AddDbContext<ApplicationDbContext>() 메서드를 사용하여 ApplicationDbContext를 서비스 컨테이너에 등록합니다. 이 과정에서 데이터베이스 연결 문자열을 ApplicationDbContext에 전달합니다.UseSqlServer() 메서드를 사용하여 SQL Server 데이터베이스와의 연결을 설정합니다. 연결 문자열은 builder.Configuration.GetConnectionString("DefaultSQLConnection")을 통해 appsettings.json에서 가져옵니다.
  4. DbContext 생성자 구성:
    • ApplicationDbContext 내에 생성자를 추가하여 DbContextOptions<ApplicationDbContext>를 매개변수로 받습니다. 이 생성자는 기본 클래스인 DbContext의 생성자에 옵션을 전달하여 데이터베이스 설정을 완료합니다.
  5. 연결 문자열의 중요성:
    • 연결 문자열은 애플리케이션과 데이터베이스 간의 연결을 설정하는 데 필수적인 정보를 제공합니다. 올바른 연결 문자열 설정은 데이터베이스 작업의 성공에 매우 중요합니다.
  6. 실습 예시:
    • 실습에서는 SQL Server Management Studio(SSMS)를 사용하여 데이터베이스 연결을 확인하고, ApplicationDbContext를 통해 데이터베이스 작업을 수행하는 방법을 배웁니다.
// 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