일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 관심지향프로그래밍
- 세비야
- elk
- HTTP
- 400에러
- Kotlin
- 아펠가모선릉
- c# scv
- kotiln
- sprintboot
- 본식후기
- 코틀린 함수
- kopring
- git명령어
- b-tree index
- 바르셀로나
- Srping AOP
- 스프링 AOP
- HTTP #웹기술
- db index
- http상태코드
- 마드리드
- 그라나다
- 스페인
- 코틀린
- 코프링
- 아펠가모
- @Component
- 스페인 준비물
- 아펠가모 선릉
- Today
- Total
끄적이는 메모장
[.NET Core 2.x] VS Code + MySQL 본문
Web Applicaiton을 구성함에 있어 MySQL을 사용이 필요할 때 어떻게 해야할 지 공부한 것을 기록해 보려고 함
환경 : .NET Core 2.0 / C# / Visual Studio Code
참고(https://docs.microsoft.com/ko-kr/ef/core/providers/index - .NET Core 버전에 따른 지원 패키지)
1. MySQL ASP.NET Core 2.0 추가하기
- project.csproj 파일을 연다.
project.csproj <ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.2" /> <PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="2.0.1"/>
</ItemGroup> |
다음과 같이 PackageReference에 Mysql을 사용하기 위한 라이브러리를 추가해준다.
2. DB 연결 정보 셋팅하기
- appsettings.json 파일에서 DB 정보를 셋팅해준다.
- server - 서버주소
- userid - DB 접속을 위한 id
- password - DB 접속을 위한 id에 대한 password
- database - DB 명
appsettings.json "ConnectionStrings": {
"DefaultConnection":"server=localhost;uid=root;pwd=root123;Database=myDB;"
} |
해당 DB 정보는 startup.cs에서 서비스가 시작되는 runtime에 읽어주게 된다.
3. 데이터 모델 및 컨텍스트 생성하기
- 데이터를 담을 모델을 셋팅
- 중요한 것은 꼭 Primary Key가 필요하므로 해당 컬럼으로 사용할 데이터도 함께 추가해 주어야 한다.
Model.cs public class OpenResponse
{
public int id { get; set; } public int isOpened { get; set; }
} |
- DB와 통신에 이용할 컨텍스트 셋팅
Context.cs using Microsoft.EntityFrameworkCore; public class IsOpenContext : DbContext {
public IsOpenContext(DbContextOptions<IsOpenContext> options) : base(options)
{
} public DbSet<OpenResponse> OpenResponse { get; set; }
} |
- 데이터 모델을 DB에 쓰거나 가져오는 역할을 담당한다.
4. startup.cs 셋팅하기
startup.cs using Microsoft.EntityFrameworkCore; using Pomelo.EntityFrameworkCore.MySql; public void ConfigureServices(IServiceCollection services) {
services.AddDbContext<IsOpenContext>(options =>
options.UseMySql(Configuration.GetConnectionString("DefaultConnection"))); |
- 2에서 셋팅한 DB 정보를 Application이 start할 때 가져오기 위한 코드를 추가해준다.
- DefaultConnection이라는 config를 읽어와서 MySQL을 3에서 셋팅한 Context를 통해 사용하겠다고 하는 부분이다.
5. DB 셋팅
- 2에서 명시된 DB명, username, password를 사용
- table명은 모델명과 동일하게 해준다. -> OpenResponse
- 컬럼의 경우 꼭 primary key를 설정 해준다. !! 중요
** controller 만들어서 Get 명령 날려보면 확인 가능! 요 부분은 보시는 분들이 혹시나 있다면 각자 해보시길
'C, C++, C# > C# ASP.NET' 카테고리의 다른 글
[.NET Core 2.x] NoSQL (Couchbase) 연동 (0) | 2018.04.05 |
---|---|
[.NET Core 2.x] REST API + MySQL (0) | 2018.04.05 |
[.NET Core 2.x] Visual Studio Code (0) | 2018.04.04 |
.NET Core 1.0 vs .NET Core 2.0 (0) | 2018.04.04 |
2. ASP.NET Core 1.x를 이용하여 Web API 만들기 (0) | 2018.04.03 |