이 섹션에서는 Entity Framework Core를 사용하여 데이터베이스 모델을 정의하고 연결 문자열을 설정하는 방법을 다룹니다.
- Plant 엔터티 정의:
- Plant 엔터티는 데이터베이스 테이블의 컬럼을 나타냅니다. ID 컬럼은 기본 키이며 자동 증가(identity) 속성을 가집니다. 이는 새 레코드가 생성될 때마다 ID가 자동으로 1씩 증가하도록 합니다.
Key
및DatabaseGenerated(DatabaseGeneratedOption.Identity)
어노테이션을 사용하여 ID 컬럼을 기본 키로 설정하고 자동 증가 속성을 부여합니다.필수 필드는Required
어노테이션을 사용하여 지정할 수 있습니다.
- Plant 엔터티는 데이터베이스 테이블의 컬럼을 나타냅니다. ID 컬럼은 기본 키이며 자동 증가(identity) 속성을 가집니다. 이는 새 레코드가 생성될 때마다 ID가 자동으로 1씩 증가하도록 합니다.
- DBContext 정의:
ApplicationDbContext
클래스를 생성하여DbContext
를 상속받습니다. 이 클래스는 Entity Framework Core에서 엔터티를 관리하는 데 사용됩니다.DbSet<Plant>
속성을 추가하여Plant
엔터티에 대한 데이터베이스 테이블을 정의합니다. 이 속성의 이름이 SQL Server에서 생성될 테이블 이름이 됩니다.
- 연결 문자열 설정:
appsettings.json
파일에ConnectionStrings
섹션을 추가하여 데이터베이스 연결 문자열을 정의합니다. 연결 문자열에는 서버 이름, 데이터베이스 이름, 신뢰할 수 있는 연결 및 다중 활성 결과 집합(MARS) 설정이 포함됩니다.Comment예시: “DefaultSQLConnection”: “Server=.;Database=More_PlantAPI;Trusted_Connection=True;MultipleActiveResultSets=true”
- 연결 문자열 및 DbContext 등록:
- 다음 단계에서는
ApplicationDbContext
를 사용하여 연결 문자열을 사용하도록 설정하고, 의존성 주입을 통해 애플리케이션 전반에ApplicationDbContext
인스턴스를 제공하는 방법을 다룰 예정입니다.
- 다음 단계에서는
// ApplicationDbContext.cs
// DBContext 정의
public class ApplicationDbContext : DbContext
{
public DbSet<Plant> Plants { get; set; }
}
// appsetting.json
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"DefaultSQLConnection": "Server=.;Database=More_PlantAPI;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
// Plant.cs
public class Plant
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Name { get; set; }
//...
}
이 섹션을 통해 Entity Framework Core를 사용하여 .NET Core Web API 애플리케이션에서 데이터베이스 모델을 정의하고, 연결 문자열을 설정하여 SQL Server 데이터베이스에 연결하는 기본적인 방법을 배웠습니다. 다음 섹션에서는 이러한 설정을 바탕으로 실제 데이터베이스 작업을 수행하는 방법을 살펴볼 것입니다.
프로젝트 리소스
https://github.com/kimdaewoong2022/MorePlants_WebAPI/tree/a857c40b94eceaf465f0d3517664194907ad73f0