原文地址: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. bsxfun.h multiple threads backup

    https://code.google.com/p/deep-learning-faces/source/browse/trunk/cuda_ut/include/bsxfun.h?r=7&s ...

  2. javascript中NAN undefined 和null

    null 表示无值,而 undefined 表示一个未声明的变量,或已声明但没有赋值的变量,或一个并不存在的对象属性. NaN 属性是代表非数字值的特殊值.该属性用于指示某个值不是数字.可以把 Num ...

  3. VBS下载者助以一臂之力

    当拿到shell到手,服务器是内网,你又没有条件映射,服务器又穿不上东西 是不是很郁闷,还有我们还有vbs,能执行cmd命令就有希望 一.VBS下载者: 复制代码 代码如下: Set Post = C ...

  4. datatables 行与列的数据获取

    datatables官网: https://datatables.net/reference/api/cells() 获取数据的方式如下 var table = $(selector).DataTab ...

  5. CentOS上升级gcc编译器使支持C++11

    首先向博主致敬,好的东西拿来共享了,用一下不错. https://blog.csdn.net/clirus/article/details/62424517 0. 目标  最近在学习c++11,我本机 ...

  6. 集群容器管理之swarm ---集群部署

    集群部署及节点管理 使用swarm前提: Docker版本1.12+ 集群节点之间保证TCP 2377.TCP/UDP 7946和UDP 4789端口通信 节点规划: 操作系统:centos7.4.1 ...

  7. GoogLeNet 改进之 Inception-v2/v3 解读

    博主在前一篇博客中介绍了GoogLeNet 之 Inception-v1 解读中的结构和思想.Inception的计算成本也远低于VGGNet.然而,Inception架构的复杂性使得更难以对网络进行 ...

  8. Redis之在Linux上安装和简单的使用

    我只是一个搬运工 Redis之在Linux上安装和简单的使用https://blog.csdn.net/qq_20989105/article/details/76390367 一.安装gcc 1.R ...

  9. : LDAP & Implementation

    LDAP LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500标准的,但是简单多了并且可以根据需要 ...

  10. C# Restful 启用 Session

    虽然很多人说不建议启用,但我就是想启用. [ServiceContract(SessionMode=SessionMode.Allowed)] public interface IBIService ...