• 简介
      • 项目使用MSSql作为数据库,但是因为SQL服务器贵那么一点,并发连接差那么一点,要把数据迁移到MySQL,顺带迁移过程以及问题。
    • 环境
      • Visual Studio 2013
      • MySQL 5.7
      • Entity Framework 6.1.3
    • 正文
      • 迁移过程
        1. 安装MySQL,顺带安装 MySQL for Visual Studio、MySQL Connector Net
        2. 在Entity Framework 项目和 WebSite项目中添加Nuget包,MySql.Data.Entity,我这里添加的是6.9.6版本,添加时后会把MySQL.Data作为依赖项加入到项目中,完成后可以看到web.config和app.config下增加了MySQL的 provider和DbProvideFactories。


        3. 修改Web.config的连接字符串,providerName修改成:MySql.Data.MySqlClient。

        4. 回到EntityFramework项目中,找到DbContext类,为类添加属性:[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]

        5. OK,这些工作做完,基本就可以了,打开程序包管理器控制台,虔诚祈祷,然后输入:update-database
    • 迁移问题
      1. 未将对象引用设置到对象的实例。
        • 问题描述:这是一个比较通用的错误提示,很多Error都会提示这个,网上找了一些不太对,最后发现是因为启动项设置为EF项目,同时默认项目也是EF项目,因为在config文件中不到连接字符串导致的。
        • 解决方案:在EF的app.config中添加连接串,或者启动项目设置为WebSite。
      2. underlying provider does not support the type 'nvarchar(max)'.
        • 问题描述:字面意思就是说,provider不支持类型”nvarchar(max)”,这与MySQL数据库支持的数据类型有关系。
        • 解决方案:找一下Entity定义中是不是有string类型,添加 属性如:     [StringLength(1000)],然后问题解决。

EF6 Codefirst+MySql 数据库迁移的更多相关文章

  1. VS2015 +EF6 连接MYSQL数据库生成实体

      VS2015 +EF6 连接MYSQL数据库生成实体   已安装软件:VS2015                       XAMPP Control Panel(Mysql服务器)      ...

  2. MySQL数据库迁移(转)

    MySQL数据库迁移(数据文件直接迁移) 在今年10月下旬的时候,公司的服务器需要迁移,其中涉及到了MySQL数据库迁移.查看了一下MySQL数据文件的大小,接近60G的大小(实际数据并没用那么多). ...

  3. mysql数据库迁移到oracle数据库后 如何删除相同的数据

    mysql数据库迁移到oracle数据库后 如何删除相同的数据 首先搞清楚有多少数据是重复的 select pid from product group by pid having count(pid ...

  4. django2.0+连接mysql数据库迁移时候报错

    django2.0+连接mysql数据库迁移时候报错 情况一 错误信息 django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 ...

  5. MySQL数据库迁移与MySQL数据库批量恢复

    目录 一.MySQL数据库迁移或备份 1. 了解使用InnoDB引擎创建数据库所产生的文件 2. 迁移数据库步骤 1. 从A服务器迁移至B服务器 2. MySQL重装并导入之前数据库 二.MySQL数 ...

  6. EF6(CodeFirst)+MySql开发脱坑指南

    废话 话说当年,在一个春光明媚的晌午,邂逅了迷人的丁香姑娘,从此拜倒在了她的石榴裙下,至今不能自拔,这位丁香姑娘就是ORM思想. 所谓ORM思想,我的理解就是根据一定的规则,把程序中的对象和数据库中的 ...

  7. EF6(CodeFirst)+MySql开发遇到的坑

    最近一不小心偷个懒就已经过了好几个月了,真是惭愧惭愧,出来混终究是要还的,我还是把”脱坑指南“写完吧,-_-~~.点我打开上篇博客 0x001.架构名”dbo”の殇 坑之首也,当提架构名,在mssql ...

  8. VS2013使用EF6与mysql数据库

      您的项目引用了最新实体框架:但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mysql的技巧   在vs2013中使用mysql连接entityFramework经常会遇到这个问题 ...

  9. MySQL数据库迁移详细步骤(转)

    ========================================================================================== 一.背景简介 == ...

随机推荐

  1. HEVC测试序列(百度云网盘分享)

    巧妇难为无米之炊,身为一个码农怎能碗里没有米呢?想必很多朋友都碰到下载测试序列的困惑,为了减少麻烦,现提供HEVC所有测试序列的下载,上传到百度云网盘上,方便大家下载.主要的测试序列如下: Test ...

  2. C语言的面向对象设计 —— 对 X264/FFMPEG 架构探讨

    1.为什么要用C语言 直到今天,C语言虽然不是使用人数最多的语言了,但是C没有老去,在很多的核心系统代码里,依然跑的是设计精美的C,绝大多数的嵌入式开发核心库软件是C开发的,多数标准算法是基于标准C设 ...

  3. C盘扩容,超详细,史上最简单的扩容技术贴!

    http://ideapad.zol.com.cn/55/160_549015.html 很多朋友跟我一样,转到windows 7 64bit后,发现以前所谓的35GB理论不够用了,哪怕你不把任何程序 ...

  4. java使用注解和反射打造一个简单的jdbc工具类

    a simple jdbc tools 如有转载和引用,请注明出处,谢谢 1. 定义我们需要的注解 要想实现对数据库的操作,我们必须知道数据表名以及表中的字段名称以及类型,正如hibernate 使用 ...

  5. Java之可变参数

    Java中支持可变参数 意思就是:参数的个数可以根据需要写,你可以写1个.2个.3个....他们都被保存到一个参数的数组中. 但是这些参有一些约束:他们必须是同类型的,比如都是String字符串类型. ...

  6. <转>Java 理论与实践: 正确使用 Volatile 变量

    Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”:与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少, ...

  7. HDU 5794 - A Simple Nim

    题意:    n堆石子,先拿光就赢,操作分为两种:        1.任意一堆中拿走任意颗石子        2.将任意一堆分成三小堆 ( 每堆至少一颗 )        分析:    答案为每一堆的 ...

  8. JFinal Db + Record模式 - ORM 框架

    // 创建name属性为James,age属性为25的record对象并添加到数据库 Record user = new Record().set("name", "Ja ...

  9. linux操作系统下的码农常用工具

    IDE: Pycharm PHPStorm Zend Studio 文本编辑器: VIM Sublime Text 版本管理: svn RapidSVN git git ui 文件对比: Meld D ...

  10. 计算球体积,hdu-2002

    计算球体积 Problem Description 根据输入的半径值,计算球的体积.   Input 输入数据有多组,每组占一行,每行包括一个实数,表示球的半径.   Output 输出对应的球的体积 ...