yzwj2004 发表于 2018-10-9 09:57:28

ASP.Net MVC连接MySQL和Code First的使用

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

[*]  MySQL Community Server 5.7.x
[*]  My Workbench 6.3
[*]  VS2017
  新建一个项目,NetMySQLCodeFirst
  选择MVC,再选择无用户验证
  http://images2015.cnblogs.com/blog/723924/201705/723924-20170508180938504-1207937343.png
  然后通过NuGet包管理器安装三个包,安装最新稳定版本即可

[*]  EntityFramework
[*]  MySql.Data
[*]  MySql.Data.Entity
  紧接着在Models文件里面新建一个类Lexan
http://images2015.cnblogs.com/blog/723924/201705/723924-20170508183307832-432425024.png
      public Guid LexanID { get; set; }      public string LexanName { get; set; }      public int LexanAge { get; set; }      public string LexanImage { get; set;  再继续在Models文件里面建一个类Category
http://images2015.cnblogs.com/blog/723924/201705/723924-20170508183321738-685825891.png
      public Guid CategoryID { get; set; }      public string CategoryName { get; set; }  继续在Models文件里面建一个类CodeFirstContext
http://images2015.cnblogs.com/blog/723924/201705/723924-20170508183335832-2139511831.png
public DbSet Lexans { get; set; }public DbSet Categories { get; set; }  在根目录下修改Web.Config文件,并在system.web的标签前面添加如下代码,表示连接.Net 连接MySQL字符串,密码是自己的root的登陆密码,根据实际情况修改
  
   
  

  完成上面的工作以后,接下来做的工作就是在NuGet的控制台去,更新我们的数据库代码后的连接设置实现我们通过LexanCodeFirstDb的数据库名已启用并将添加新的迁移。为此, 我们使用软件包管理器控制台。在控制台执行如下命令
http://images2015.cnblogs.com/blog/723924/201705/723924-20170508184425269-662749341.png
enable-migrations  这个时候因为执行了enable-migrations命令,项目中会自动的生成Migrations文件夹,然后到这个文件夹里面去修改Configuration类里面的Configuration方法,添加如下的代码
http://images2015.cnblogs.com/blog/723924/201705/723924-20170508185148082-751751802.png
AutomaticMigrationsEnabled = true;  
            SetSqlGenerator("MySql.Data.MySqlClient", new MySql.Data.Entity.MySqlMigrationSqlGenerator());
  再继续往NuGet的控制台里输入一下代码,执行数据的迁移,有提示输入名字,这个名字和项目名字是不同的
http://images2015.cnblogs.com/blog/723924/201705/723924-20170508185757644-1370476056.png
add-migration  mysql的数据库引擎代码端使用默认创建的结构, 主键也会为提到的区域返回此错误。作为此解决方案, 我们将再次升级我们的上下文模型如下。以前, 类似于我们在上面设置的 SqlGenerator, 然后去修改codeFirstContext类,如下所示
  http://images2015.cnblogs.com/blog/723924/201705/723924-20170508190344816-1369564685.png
  继续在NuGet控制台执行如下代码更新数据库
update-databasehttp://images2015.cnblogs.com/blog/723924/201705/723924-20170508190740926-2061291222.png
  到这里我们的工作全部完成了,我们看看没有迁移时候MySQL数据
  http://images2015.cnblogs.com/blog/723924/201705/723924-20170508190913722-1027474320.png
  再来看看钱以后的数据库
http://images2015.cnblogs.com/blog/723924/201705/723924-20170508191051301-896286641.png
http://images2015.cnblogs.com/blog/723924/201705/723924-20170508191756535-2023776048.png
  成功了!


页: [1]
查看完整版本: ASP.Net MVC连接MySQL和Code First的使用