관리 메뉴

개발자의 코드 노트

ASP.NET Core Entity Framework MySQL 연동 본문

프로그래밍/NET Framework

ASP.NET Core Entity Framework MySQL 연동

IODES 2018. 5. 19. 01:00

ASP.NET Core 프로젝트에서 Entity Framework 컨트롤러를 추가하면 기본적으로 MS SQL LocalDB와 연동됩니다.

본 글에서는 MySQL 패키지를 설치하고 프로젝트를 수정해서 MySQL 서버에 연결하는 방법에 대해 설명합니다.

새로운 컨트롤러를 이미 생성했다는 가정 하에 진행하므로, ASP.NET Core WebAPI 시작을 먼저 읽어주세요.


Entity Fraemwork

Entity Fraemwork는 객체 지향 언어에서 데이터베이스를 편리하게 사용할 수 있도록 만들어주는

Object Relational Mapping 도구로써 쿼리문 없이 손쉽게 데이터에 엑세스할 수 있도록 도와줍니다.

현재 ASP.NET Core에서는 최신버전인 Entity Framework Core가 사용되고 있습니다.



1. MySQL 패키지 설치



NuGet 패키지 관리자에서 "MySql.Data.EntityFrameworkCore" 패키지를 검색 후 설치해주세요.


2. 연결 문자열 수정



패키지를 설치했다면 데이터베이스 연결 문자열을 수정해야합니다.

솔루션에 생성되어있는 "appsettings.json" 파일을 열어서 "ConnectionStrings -> BookContext" 부분인데요...


1
"BookContext""Server=[serverIP];Database=[databaseName];Uid=[userID];Pwd=[userPW]"
cs


주황색으로 표시한 부분은 자신의 MySQL 서버 정보에 맞게 수정해주세요.

만약 접속시 The host [serverIP] does not support SSL connections. 오류가 발생한다면,

연결 문자열 끝에 SslMode=none; 옵션을 추가하여 SSL을 사용하지 않을 수 있습니다.


3. 연결 코드 수정


연결 문자열을 수정했다면 마지막으로 연결 코드를 수정해야합니다.

솔루션 루트에 있는 "Startup.cs" 파일을 열어서 표시한 부분의 코드를 다음과 같이 수정해주세요.


1
2
services.AddDbContext<BookContext>(options =>
                    options.UseMySQL(Configuration.GetConnectionString("BookContext")));
cs


UseSqlServer 함수 대신 UseMySQL 제공자를 사용하여 데이터베이스에 연결합니다.


참고할만한 자료

[MSDN] ASP.NET Identity EntityFramework MySQL 공급자 (C#) MySQL 저장소 사용

Creating a Database with Code First in EF Core

How To Connect MySQL With ASP.NET Core

Comments