asp.net mvc连接mysql_ASP.Net MVC连接MySQL和Code First的使用

首先要准备一下的工具作为环境

MySQL Community Server 5.7.x

My Workbench 6.3

VS2017

新建一个项目,NetMySQLCodeFirst

选择MVC,再选择无用户验证

eb7b3140804596a09b193d63b39a6348.png

然后通过NuGet包管理器安装三个包,安装最新稳定版本即可

EntityFramework

MySql.Data

MySql.Data.Entity

紧接着在Models文件里面新建一个类Lexan

4458cf091ad83c1c67dd50c4dd4c5bd1.png

public Guid LexanID { get; set; }public string LexanName { get; set; }public int LexanAge { get; set; }public string LexanImage { get; set;

再继续在Models文件里面建一个类Category

f9d9b97ba120176e32659a2c285b9081.png

public Guid CategoryID { get; set; }public string CategoryName { get; set; }

继续在Models文件里面建一个类CodeFirstContext

6f8738448000544d6c397be158e2884b.png

public DbSet Lexans { get; set; }public DbSet Categories { get; set; }

在根目录下修改Web.Config文件,并在system.web的标签前面添加如下代码,表示连接.Net 连接MySQL字符串,密码是自己的root的登陆密码,根据实际情况修改

完成上面的工作以后,接下来做的工作就是在NuGet的控制台去,更新我们的数据库代码后的连接设置实现我们通过LexanCodeFirstDb的数据库名已启用并将添加新的迁移。为此, 我们使用软件包管理器控制台。在控制台执行如下命令

e2983c8906170482a8a9343c9182f835.png

enable-migrations

这个时候因为执行了enable-migrations命令,项目中会自动的生成Migrations文件夹,然后到这个文件夹里面去修改Configuration类里面的Configuration方法,添加如下的代码

54351b1c01bd94e33d78da91cdcad1e7.png

AutomaticMigrationsEnabled = true;

SetSqlGenerator("MySql.Data.MySqlClient", new MySql.Data.Entity.MySqlMigrationSqlGenerator());

再继续往NuGet的控制台里输入一下代码,执行数据的迁移,有提示输入名字,这个名字和项目名字是不同的

4bd799c9004ab440ee838c047be46df6.png

add-migration

mysql的数据库引擎代码端使用默认创建的结构, 主键也会为提到的区域返回此错误。作为此解决方案, 我们将再次升级我们的上下文模型如下。以前, 类似于我们在上面设置的 SqlGenerator, 然后去修改codeFirstContext类,如下所示

b866a276e4ec2ad0c18e3923db8c0d38.png

继续在NuGet控制台执行如下代码更新数据库

update-database

c4d5a726ba55353c47f2978218b4df52.png

到这里我们的工作全部完成了,我们看看没有迁移时候MySQL数据

533e01fc4122e4035f11b20bd494790b.png

再来看看钱以后的数据库

bdb878d96f2177fef502092f9801298d.png

6fb8a105e0169710c8af1bafb2221145.png

成功了!

68f724bad5a33d9a9f6bd2ca7369ecb7.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值