ASP.NET Core 웹 응용 프로그램에서 MySQL 사용

3832 단어 MySQLASP.NET_Core

소개



갑자기 ASP.NET Core를 만지게 되었기 때문에, 공부가 되면 적당한 앱을 만들기 시작했습니다만,
DB에서 데이터를 읽거나 쓰는 초보적인 곳에서 빠져 버렸습니다.
모처럼 조사했으므로, 한 일을 정리해 두고 싶습니다.

환경



DB 서버



버전


CentOS
7.4

MySQL
5.7


개발 환경



버전


Windows
Windows 10

Visual Studio
2017

.Net Core
1.1


DB 준비



VPS에 MySQL을 설정하여 적절한 테이블을 준비합니다.
DB는 SSL로 연결할 수 있어야 합니다.
이번에는 테스트를 위해 "MyTests"테이블을 만들었습니다.

MyTests


열 이름
금형
비고


Id
int(11)
AI, PK

이름
varchar(45)

Age
int(11)



ASP.NET Core 프로젝트 만들기



Visual Studio 2017에서 마법사에 따라 프로젝트를 만듭니다.
여기에서는 ASP.NET Core 1.1을 사용하여 진행합니다.



MySql.Data.EntityFrameworkCore 설치



MySQL에 액세스하려면 "MySql.Data.EntityFrameworkCore"가 필요하므로 NuGet 패키지 관리자를 사용하여 설치합니다.
최신 안정 버전인 6.10.4를 설치했습니다.



테이블에 대응하는 클래스를 준비



데이터를 읽고 쓰려는 테이블에 해당하는 클래스를 만듭니다.
Models 폴더 아래에 "MyTest.cs"를 준비하여 MyTest 클래스를 만들었습니다.

[추기]
런타임에 "기본 키 없음"오류가 발생하면 System.ComponentModel.DataAnnotations를 사용하여 기본 키가 되는 멤버 바로 위에 [Key]를 추가하면 잘 작동합니다.



컨텍스트 클래스 준비



DB와 상호 작용하기 위한 컨텍스트 클래스를 준비합니다.
이 클래스는 DBContext의 파생 클래스이며 DBSet 형식의 멤버가 있는 클래스입니다.
Data 폴더 아래에 "MySQLSampleDbContext.cs"를 준비하여 MySQLSampleDbContext 클래스를 만들었습니다.



DB와의 접속에 필요한 정보를 준비



appsettings.json의 ConnectionStrings에 연결 문자열을 추가합니다.
"MySQLSampleDbConnection": "Server=<IP Address>;Database=<DB Name>;User Id=<DB User Name>;Password=<Password>;"

적절하게 다음과 같이 읽어보십시오.


품목
내용



DB 서버 주소


DB 이름


DB 사용자 이름


DB 비밀번호




Framework Service 추가



Startup 클래스의 ConfigureServices 내에서 준비한 MySQLSampleDbContext를 service에 추가합니다.
GetConnectionString 인수에 전달하는 문자열은 appsettings.json에 추가한 연결 문자열의 키입니다.



테이블에서 데이터를 읽어보기



시험에 테이블에서 데이터를 읽어 보았습니다.
MyTestController를 준비하면, 좋은 느낌으로 DbContext가 내려오므로, 그것을 사용해 데이터를 읽어들여, View에 건네주어 표시하고 있습니다.



소스 코드



절각이므로 프로젝트를 GitHub로 올렸습니다.
연결 문자열은 적절하게 자신의 환경으로 교체하십시오.

MySQL_Sample

좋은 웹페이지 즐겨찾기