(转)EF5+SQLserver2012迁移到EF6+mysql5.5.47
原文地址: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的更多相关文章
- 基于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 ...
- 解决项目中EF5.0升级到EF6.0无法安装包的方法
今天在vs2012上新建了一个mvc4的项目,mvc4中默认的Entity Framework是5.0的版本,如下所示: 或者:,但是项目中有些要用到EF6.0的相关方法,用EF5.0实在繁琐,于是在 ...
- VisualStudio2013+EF6+MySql5.5环境下配置
看院子里对EF框架和MySql的配置文章不少,但是几乎出自一篇文章的转载,而且这篇转载的文章的也比较坑爹,下面我将介绍一下我的配置过程: 第一步:安装mysql-connector-net-6.9.9 ...
- VS 2017 + EF6 + MySQL5.7 建立实体模型闪退问题
具体环境是:VS2017 ..NET Framework 4.6 .MySql.Data.Entity 6.9.12 在这个环境下总是不成功,具体是在这一步闪退,也不报错: 在点击“下一步”后,没有进 ...
- centos下升级mysql5.5.47到5.7.14操作过程
一. 查看已安装Mysql基础信息通过mysql –V 查看下mysql版本可以通过命令find / -name mysql 得到下面信息 1.安装目录[root@jjxnhd-192-10 mysq ...
- Mysql5.6.47开放远程访问(修改远程访问密码)
1.登录mysql mysql -u root -p 然后输入密码,登录进去mysql: 2.切换数据库 use mysql; 3.修改权限 GRANT ALL PRIVILEGES ON *.* T ...
- windows下安装mysql5.6.47版本
详情转载地址:https://www.cnblogs.com/alan-lin/p/9966917.html
- Entity Framework Core 之数据库迁移
前言 最近打算用.NET Core写一份开源的简易CMS系统,来练练手 所以又去深入研究了一下Entity Framework Core 发现其实有些细节园子里还是很少讲到. 特意整理了几个细节. 正 ...
- EF5.0中的跨数据库操作
以前在用MVC + EF 的项目中,都是一个数据库,一个DbContext,因此一直没有考虑过在MVC+EF的环境下对于多个数据库的操作问题.等到要使用时,才发现这个问题也不小(关键是有个坑).直接说 ...
随机推荐
- 学了3天EOS, 其它没学会,就学会了发私人数字币
关于 EOS的 铸币及发币(以下是精华) 张永@CoinXP 以下 ...
- Python—列表操作
列表 列表的使用: 列表是可变数据类型,因此列表的方法,都是直接修改列表原始值 list = ["panda","chimpanzee","zebra ...
- Vue 学习Day001
入门 基本使用 安装Vue 直接引入本地或者cdn Vue地址 使用npm 使用cli 示例 <!DOCTYPE html> <html lang="en"> ...
- Discuz!安装搭建
Discuz!介绍 Discuz!是一款由php语言开发的论坛源代码包,运行在lamp平之上或者lnmp之上,点击此处打开官方网站 环境介绍 本次安装采用最简配置,全部用yum安装,php采用模块方式 ...
- 2.3 利用FTP服务器下载和上传文件
二.利用FTP服务器的下载文件 from ftplib import FTP from os.path import exists def getfile(file,site,dir,user=(), ...
- UDP协议学习(转)
reference: https://blog.csdn.net/s_lisheng/article/details/73538229 https://blog.cs ...
- 1095 解码PAT准考证
PAT 准考证号由 4 部分组成: 第 1 位是级别,即 T 代表顶级:A 代表甲级:B 代表乙级: 第 2~4 位是考场编号,范围从 101 到 999: 第 5~10 位是考试日期,格式为年.月. ...
- 2019-04-15-day032-多进程介绍
内容回顾 基于原生socket的udp协议实现将client端发送过来的消息放到字典中 字典的key是所有客户端的地址,value是一个列表 io :输入输出, 输入到内存,向内存输入 从内存中向外( ...
- 11--Python入门--面向对象
面向对象是Python的特点.面向对象主要通过类class的定义来实现.类class是用来描述具有相同属性和方法的对象的集合.类定义了该集合中的每个对象的共有属性和方法可以将类理解为一个模块,模块中包 ...
- ecmall 学习记录
1. /* 载入配置项 */ $setting =& af(MODULE); Conf::load($setting->getAll()); af方法定义如下: /** * 获取数组文件 ...