本片文章主要介绍在asp.net core中如何使用EF core 来映射mariaDb。当然,方法同样适用于mysql。在映射的过程中,遇到了一个神坑,就是使用dotnet ef命令的时候提示未找到该命令。
本次Demo使用到的环境包括:
- VS 2017 (asp.net core 2.0)
- MariaDb 10.2.10
为了方便,将使用DbFirst的方式进行映射。MariaDb数据库中表的结构如下:
接下来在VS中新建一个新的asp.net core mvc项目,安装Pomelo.EntityFrameworkCore.MySql
以及Microsoft.EntityFrameworkCore.Tools 和 Microsoft.EntityFrameworkCore.Tools.DotNet
右键项目,打开csproj文档,结构类似如下。如果不存在以上3个包,可以手动添加到此并进行nuget还原。
此处需要注意的是:如果通过nuget安装的包可能Microsoft.EntityFrameworkCore.Tools.DotNet会作为引用包来添加,我们需要手动将他添加到工具包引用来,因此更改了的csproj如图: