dotnet core 2.0 发布已经好几天了,期间也把原来 dotnet core 1.1 的 MVC 项目升级到了 2.0,升级过程还是比较顺利的,变动也不是太多。升级的过程中也少不了 Entity Framwork Core 的升级,在这篇文章中主要介绍下 MySql 数据库使用 Entity Framwork Core 2.0 如何进行 Code First、Database First 及数据库迁移(Migration),虽然比较基础,但是做到尽量详细。本文所有示例代码已经提交到 GitHub:https://github.com/starts2000/EFCoreDemo,如果觉得对你有帮助,就给个 Star 吧。
一、工具及环境
Visual Studio 2017 15.3
.NET CORE 2.0 SDK
二、Entity Framwork Core 2.0 MySql Code First 及 数据库迁移(Migration)
1、创建 .NET Core 类库项目 【Starts2000.EFCoreCodeFirst】
2、添加 User 实体类
public class User {
public int Id { get; set; } [MaxLength(32), Required]
public string Aaccount { get; set; } [MaxLength(32), Required]
public string Password { get; set; } }
最终【Starts2000.EFCoreCodeFirst】项目结构如下:
3、创建 .NET Core 控制台应用项目 【Starts2000.EFCoreCodeFirst.Test】
添加对 【Starts2000.EFCoreCodeFirst】项目的引用;
Nuget 添加 Microsoft.EntityFrameworkCore.Tools 及 Pomelo.EntityFrameworkCore.MySql(注意勾上:包括预发行版) 的引用;
4、编辑 Starts2000.EFCoreCodeFirst.Test.csproj 项目文件,添加如下内容:
<ItemGroup> <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" /></ItemGroup>
最终内容如下:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netcoreapp2.0</TargetFramework> <ApplicationIcon /> <OutputType>Exe</OutputType> <StartupObject /> </PropertyGroup> <ItemGroup> <ProjectReference Include="..\Starts2000.EFCoreCodeFirst\Starts2000.EFCoreCodeFirst.csproj" /> </