原文地址: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