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

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

  • MySQL Community Server 5.7.x
  • My Workbench 6.3
  • VS2017

新建一个项目,NetMySQLCodeFirstweb

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

而后经过NuGet包管理器安装三个包,安装最新稳定版本便可数据库

  • EntityFramework
  • MySql.Data
  • MySql.Data.Entity

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

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

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

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

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

public DbSet<Lexan> Lexans { get; set; }
public DbSet<Category> Categories { get; set; }

在根目录下修改Web.Config文件,并在system.web的标签前面添加以下代码,表示链接.Net 链接MySQL字符串,密码是本身的root的登录密码,根据实际状况修改spa

<connectionStrings>
    <add name="CodeFirstContext" connectionString="Data Source=localhost;port=3306; Initial Catalog=LexanCodeFirstDB;uid=root; pwd=******" providerName="MySql.Data.MySqlClient" />
</connectionStrings>

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

enable-migrations

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

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

 

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

add-migration

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

 

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

update-database

到这里咱们的工做所有完成了,咱们看看没有迁移时候MySQL数据

再来看看钱之后的数据库

成功了!

 

相关文章
相关标签/搜索