根据朋友的建议,现在做的.net core的数据库改成Mysql,这样跨平台方便的,比较ms sql server在其他平台下跑很麻烦。
asp.net core 连接 MySql只需要安装Mysql官方的connect就可以了,但是,直接生成默认的Identify的时候,有几个表无法创建,需要用到数据迁移的Migrations和第三方的内容。
新建一个asp.net core web项目
注意,要选择2.0,2.1版本现在会报错。
创建成功以后,打开Nuget
添加Pomelo.EntityFrameworkCore.Mysql。虽然MySql官方也提供了类似的工具,但是,居然有错。
添加完以后的情形
修改数据库连接
修改Startup.cs里的设置,将UseSqlServer改成UseMySql
删除Data目录下的Migrations目录,可能不删也行,因为对数据迁移的Migrations不熟悉,所以,还是删了。
打开程序包管理器控制台
就是下面这个
输入Add-Migration MyFirstMigration
会在根目录添加一个Migrations目录
再在控制台输入Update-Database,这时候就会创建表。在这里如果出错,多半是因为包不足或者版本太高之类的问题
这时,MySql数据库的表就建好了。
另外,mysql8好像添加了新的密码方式,保险起见,安装的时候选传统的那个
如果只是连接,应该是安装官方给定的这两个就可以了。