欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MVC+EF6-CodeFirst 连接MySQL并创建数据库和表_Demo

程序员文章站 2022-12-08 22:09:11
VS2019+MVC+EF6 CodeFirst 连接MySQL 1、准备环境(通过NuGet获取) EntityFramework MySql.Data.Entity 安装后确认 2、在MVC Model文件夹下添加一个学生类,后面用它通过[数据迁移]在MySQL中创建一个表 3、创建数据上下文 ......

vs2019+mvc+ef6-codefirst 连接mysql

1、准备环境(通过nuget获取)

entityframework

MVC+EF6-CodeFirst 连接MySQL并创建数据库和表_Demo

mysql.data.entity

MVC+EF6-CodeFirst 连接MySQL并创建数据库和表_Demo

安装后确认

MVC+EF6-CodeFirst 连接MySQL并创建数据库和表_Demo

2、在mvc-model文件夹下添加一个学生类,后面用它通过[数据迁移]在mysql中创建一个表

     public class student
    {
        public int id { get; set; }

        public string lastname { get; set; }

        public string firstmidname { get; set; } 
    }

3、创建数据上下文 (先引入 using system.data.entity;)

namespace eftomysqldemo
{
    //  [dbconfigurationtype(typeof(mysql.data.entity.mysqlefconfiguration))] 如果去掉这一句,ef自动创建数据库时会报错,而此时创建控制器又会报错,所以创建控制器的时候注销这句就可以了
    [dbconfigurationtype(typeof(mysql.data.entity.mysqlefconfiguration))]
    public class efdemocontext:dbcontext
    {
        static efdemocontext()
        {
            //开发环境中,如果数据结构发生变化,需要重新建库,每次建库后要重新插入测试数据,可以用dropcreatedatabaseifmodelchanges类来实现(生成环境中请使用 migrations做数据迁移)
            database.setinitializer(new dropcreatedatabaseifmodelchanges<efdemocontext>());
        }
        public efdemocontext():base("eftomysqlcon") { }


        public dbset<student> students { get; set; }
    }
}

4、配置文件中添加链接字符串

4.1 具体参数按自己的做相应修改

  <connectionstrings>
    <add name="eftomysqlcon" connectionstring="data source=127.0.0.1;port=3306;initial catalog=efdemodb;user id=root;password=123456;" providername="mysql.data.mysqlclient" />
  </connectionstrings>

5、数据迁移

5.1 数据迁移常用命令

命令1:启动ef数据迁移
enable-migrations -contexttypename 命名空间.上下文名称
命令2:创建迁移文件
add-migration 自定义名称
命令3:更新数据库
update-database

5.2 打开程序包管理器控制台

MVC+EF6-CodeFirst 连接MySQL并创建数据库和表_Demo

5.3 按常用命令(5.1)依次执行

MVC+EF6-CodeFirst 连接MySQL并创建数据库和表_Demo

5.4 通过navicat查看mysql

MVC+EF6-CodeFirst 连接MySQL并创建数据库和表_Demo