.Net Core 3.1 Entity Framework Core Database First 하는 방법
머리
.NetCore 3.1에서 MySQL에서 EntityFramework에서 DB 첫 번째를 시도한다면
공식적인 MySql.Data.EntityFrameworkCore가 3.1을 지원하지 않기 때문에 고생했습니다.
개발 환경
동작 환경은 cent7로 .NetCore3.1이지만 사용 툴의 관계로 2.1도 필요하게 된다.
해법(포인트)
후일담 2020/12
.Net5에서만 움직이기 시작했습니다.
설치 방법은 htps : // / cs. mic로소 ft. 코 m / 자 jp / 에 f / 이것 / c ぃ / t t t
명령으로 dotnet ef를 dotnet-ef로 설정하면 OK
필요한 라이브러리는 dotnet add package ~~~~ 라는 명령으로 넣는 것이 정공법이지만
귀찮기 때문에 csproj를 아래와 같이 해서 dotnet restore 하면 좋다
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.3" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.2">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="MySql.Data.EntityFrameworkCore" Version="8.0.19" />
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="3.1.1" />
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql.Design" Version="1.1.2" />
</ItemGroup>
</Project>
라이브러리 복원이 완료되면 다음 명령을 실행하여 DB 모델을 생성합니다.
※접속 정보는 자신의 환경에 맞추는 것!
dotnet ef dbcontext scaffold "Server=localhost; Port=3306; Database=schema; Uid=root; Pwd=password;" Pomelo.EntityFrameworkCore.MySql -o Models --context Context
샘플 코드 : github
Reference
이 문제에 관하여(.Net Core 3.1 Entity Framework Core Database First 하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/WaToI/items/2e73233130150b995fe9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)