개발자
비전공자로 국비학원에서 java 배우고 최근에 취업했습니다. 면접 때는 java 개발자 구한다고 했는데, 막상 와보니 .net framework, mariaDB, IIS로 2주 동안 랜딩페이지 개발하는 프로젝트가 주어졌습니다. 제가 c# 문법, .net framework 구조 조차 모르는 상태에서 mariaDB 연동해야하는 상황인데 방법을 알려주실 수 있을까요?? 책도 사봤지만 2016년에 만들어진 책이 제일 최신 책이더라구요 …. 책에서는 mssql을 적용해서 저랑 상황이 맞지 않습니다. 구글링으로도 답을 못 얻고 있습니다.
답변 3
인기 답변
블레이저(.NET 7.0) 기준으로, EF Core를 통해 MySQL을 사용하려면 필요한 작업이 몇 있습니다. 먼저 EF Core를 사용하기 위해 DbContext 클래스를 생성해야 합니다. DbContext는 데이터베이스에 접근하기 위한 데이터베이스의 사본을 제공합니다. 그리고 Program.cs에 다음과 같이 connectionString을 추가합니다. var connectionString = builder.Configuration.GetConnectionString("DefaultConnection");builder.Services.AddDbContext<ExampleAppDbContext>(options => options.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString))); 이때 DefaultConnection는 프로젝트 경로의 appsettings.json에서 아래처럼 추가하면 됩니다. "ConnectionStrings": { "DefaultConnection": "Server=호스트; port=포트; database=데이터베이스 이름; user=데이터베이스에 접근할 수 있는 유저 이름; password=인증 비밀번호; Persist Security Info=false; Connect Timeout=300;" } 이후 DbContext 클래스에 테이블 필드 추가하고 비주얼 스튜디오의 패키지 매니저에서 'add-migration 이름' 으로 마이그레이션 하고, update-database 하면 됩니다. 참고로 EF Core는 ORM입니다. 아, 그리고 마이그레이션을 하는 CLI 혹은 패키지는 아래와 같은 너겟 패키지가 필요합니다. 아래 같은 경우는 닷넷에서 제공하는 기본 인증 클래스 IdentityDbContext 클래스를 사용해서 'Microsoft.AspNetCore.Identity.EntityFrameworkCore' 이고, 기본 DbContext 클래스 사용시 'Microsoft.AspNetCore.EntityFrameworkCore' 이거입니다. <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="7.0.1" /> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.1" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="7.0.1" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.1"> 그리고 제가 마지막으로 확인했을 때 포멜로 MySQL 릴리즈 버전에서 EFCore 7.0을 지원하지 않아 베타 버전을 사용해야 합니다. <PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="7.0.0-silver.1" /> 베타 버전은 너겟 갤러리에서 이름을 통해 검색하고 패키지 매니저를 통해 다운로드하면 됩니다. 닷넷 파이팅..🥲
인기 답변
사전지식 필요합니다. https://learn.microsoft.com/ko-kr/aspnet/core/fundamentals/configuration/?view=aspnetcore-7.0 NuGet 패키지 관리에서 MySQL.EntityFrameworkCore 를 설치하시면됩니다. 설치하실대 이름 잘보셔야합니다. 비슷한 이름들이 많은데. .Net 6,7를 지원하는 패키지랑 그이전 버전과 분리가 되있어요. ex_) MySQL.Data.EntityFrameworkCore 그럴싸~해 보이나 .Net 4 를 지원하는 패키지입니다. .Net7 부터 좀 많이 바뀌었습니다. 검색해서 보실때 잘보시길 바랍니다. 유튜브에서도 외국분들이 많이들 올리셧어요 충분히 20분만에 구현가능합니다. 응원합니다. .Net 사용자분들
윤석현
대학생 전기전자제어 • 2023년 02월 10일
포멜로 MySql에서 7.0은 두 달 전에 확인했을 땐 베타 버전에서 지원했습니다. 다만 현재는 정식 버전에서도 지원하네요.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!