您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

bubuko 2022/1/25 20:00:05 mysql 字数 3048 阅读 653 来源 http://www.bubuko.com/infolist-5-1.html

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

VS2019+MVC+EF6-CodeFirst 连接MySQL

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

EntityFramework

技术分享图片

MySql.Data.Entity

技术分享图片

安装后确认

技术分享图片

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 打开程序包管理器控制台

技术分享图片

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

技术分享图片

5.4 通过Navicat查看MySQL

技术分享图片

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

原文:https://www.cnblogs.com/zgsy/p/12637928.html


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶