原文地址:https://www.cnblogs.com/tinyjian/p/6235014.html;https://www.cnblogs.com/tinyjian/p/6235397.html

系统环境:win10专业版,.NET版本4.0

VS版本:2013 旗舰版

旧环境:EF5+SQLserver2012

迁移后环境:EF6+Mysql5

使用工具:

Navicat Premium_11.2.7简体中文版。做MSSQL(SQLserver)→Mysql 直接导入操作。

链接:http://download.csdn.net/detail/ahgaoyong/9482314

mysql-for-visualstudio-1.2.6.msi,mysql-connector-net-6.9.9.msi。VS用于链接mysql的插件。

链接:http://dev.mysql.com/downloads/windows/visualstudio/http://dev.mysql.com/downloads/connector/net/6.9.html

操作步骤

一、使用Naicat Premium将数据从MSSQL导入到Mysql

新建连接时可以选择数据库类型

准备好mssql和mysql的数据库

先在mysql中新建一个数据库

新建好了之后, 双击使其图标变成有颜色的,点击右侧的"导入向导"

选择ODBC格式

点左边的"..."呼出连接属性,并选择"OLE DB Provider", 如果你是本地数据库,请尝试最后一项"Native Client"

配置mssql连接信息和数据库,记得"测试连接"

完成后可以选择那些表需要导出来

后续操作可以对表名进行更改, 对每个表的字段进行修改.

1
2
3
Tip:
默认情况不会设置主键(也就是没有主键和自增属性)
最后在mysql中创建的表名,都是小写的mssql中bit → mysql中tinyint,更多类型转换请自行尝试

导入后可看到数据:

如果mssql与mysql编码不一样,则会乱码, 请自行调整编码, 推荐调整为utf8模式.

二、在VS中添加Mysql数据源的ADO.NET实体数据模型

下载并按照“一”中的mysql-for-vs、mysql-connector。

之后在nuget控制台中

输入以下命令行,安装EF和Mysql.Data

Install-Package EntityFramework

Install-Package MySql.Data.Entity

之后会自动在App.config中添加配置项, 如果没有,则手动添加App.config为:

1
2
3
4
5
6
<entityFramework>
  <providers>
    <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>
    <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
  </providers>
</entityFramework>

之后可以在新建ADO.NET实体模型中找到:

如果你出现

极有可能是App.config配置错误, 也有可能是运气问题, 比如我在View层中可以新建,但是在model层新建不了, 于是我在view层中新建好再复制到model层, 接着view层也可以新建了, 貌似是vs的bug.

可以试试上述App.config的配置, 或是参考文章:http://blog.csdn.net/niewq/article/details/41877301

(转)EF5+SQLserver2012迁移到EF6+mysql5.5.47的更多相关文章

  1. 基于centOS6.7搭建LAMP(httpd-2.4.18+mysql-5.5.47+php-5.6.16)环境

    首先确保系统可以联网.设置IP地址以及虚拟机安装linux在此略过.本文采用centos6.7 64位minimal版.php5.6.16.httpd-2.4.18.mysql-5.5.47版搭建la ...

  2. 解决项目中EF5.0升级到EF6.0无法安装包的方法

    今天在vs2012上新建了一个mvc4的项目,mvc4中默认的Entity Framework是5.0的版本,如下所示: 或者:,但是项目中有些要用到EF6.0的相关方法,用EF5.0实在繁琐,于是在 ...

  3. VisualStudio2013+EF6+MySql5.5环境下配置

    看院子里对EF框架和MySql的配置文章不少,但是几乎出自一篇文章的转载,而且这篇转载的文章的也比较坑爹,下面我将介绍一下我的配置过程: 第一步:安装mysql-connector-net-6.9.9 ...

  4. VS 2017 + EF6 + MySQL5.7 建立实体模型闪退问题

    具体环境是:VS2017 ..NET Framework 4.6 .MySql.Data.Entity 6.9.12 在这个环境下总是不成功,具体是在这一步闪退,也不报错: 在点击“下一步”后,没有进 ...

  5. centos下升级mysql5.5.47到5.7.14操作过程

    一. 查看已安装Mysql基础信息通过mysql –V 查看下mysql版本可以通过命令find / -name mysql 得到下面信息 1.安装目录[root@jjxnhd-192-10 mysq ...

  6. Mysql5.6.47开放远程访问(修改远程访问密码)

    1.登录mysql mysql -u root -p 然后输入密码,登录进去mysql: 2.切换数据库 use mysql; 3.修改权限 GRANT ALL PRIVILEGES ON *.* T ...

  7. windows下安装mysql5.6.47版本

    详情转载地址:https://www.cnblogs.com/alan-lin/p/9966917.html

  8. Entity Framework Core 之数据库迁移

    前言 最近打算用.NET Core写一份开源的简易CMS系统,来练练手 所以又去深入研究了一下Entity Framework Core 发现其实有些细节园子里还是很少讲到. 特意整理了几个细节. 正 ...

  9. EF5.0中的跨数据库操作

    以前在用MVC + EF 的项目中,都是一个数据库,一个DbContext,因此一直没有考虑过在MVC+EF的环境下对于多个数据库的操作问题.等到要使用时,才发现这个问题也不小(关键是有个坑).直接说 ...

随机推荐

  1. Vue入门笔记(一)--基础部分

    github地址:https://github.com/iTao9354/basicVue(demo01-28) 一.初识Vue 使用双大括号{{message}}将数据渲染进DOM中.      可 ...

  2. Python---高级函数map, filter, zip, enumerate等的用法

    今天看自然语言处理这本书的时候,被这里的高级函数的概念吸引了,因为我觉得所有的函数都只是函数而已,是为了实现特定功能而实现的,不应该有高级,低级之分啊!不过了解之后,发现这几个函数确实是有点高级,非常 ...

  3. linux软件管理 软件安装

    软件包分类 1) 源代码包   脚本安装包 2) 二进制包   (RPM包,系统默认包) 源码包编译后形成二进制包 JDK的安装 下载jdk的文件解压 tar -zxvf jdk-8u144-linu ...

  4. Win10系列:C#应用控件基础20

    SemanticZoom控件 SemanticZoom控件由相互关联的缩小视图和放大视图所组成,缩小视图用来显示内容的索引,放大视图可以用来显示内容的详细信息,用户可以根据阅读需要在两种视图之间自由切 ...

  5. M0内核的STM32实现比较精准的延时

    #include "drv_delay.h"#include "core_cm0plus.h" //我的系统时钟设置为4MHz /*************** ...

  6. mysql数据库基础语句训练题

    ; -- ---------------------------- -- Table structure for course -- ---------------------------- DROP ...

  7. Android开发 ---多线程操作:Handler对象,消息队列,异步任务下载

    效果图: 1.activity_main.xml 描述:定义了六个按钮 <?xml version="1.0" encoding="utf-8"?> ...

  8. 如何避免form提交进行页面跳转

    正常的form表单提交后需要进行页面跳转,如果我们不希望进行页面跳转,那么按以下两个步骤,通过一个iframe就可以解决这个问题: 步骤一:首先在页面中定义一个空的不可见的iframe <!-- ...

  9. Java RedisClient

    package org.rx.util; import org.redisson.Redisson; import org.redisson.api.RedissonClient; import or ...

  10. 关于maven环境变量的配置问题

    开始使用“MAVEN_HOME”配置完环境变量后,在cmd中输入mvn -v提示不是内部命令,后直接在PATH 路径里面添加maven所在的位置+\bin,比如,maven的路径为E:\maven\a ...