2016年7月6日更新:

vs2010只需要安装mysql的.net connector就可以

vs2012, vs2015都需要安装.net connector + ODBC connector才行

并且, 安装完ODBC connector后, 需要到 控制面板->管理工具->ODBC数据源 里面去添加Mysql数据源

====================================================================

安装VS2010后, 要先装这两个扩展包, 因为2010不是默认安装的.

首先从扩展管理器中安装NuGet Package Manager

再从NuGet Package Manager中安装最新版EF

再从NuGet Package Manager中搜索"mysql", 装搜出来的前三个插件, 都要装最新版的.

此时去新建实体数据模型, 可能会出现一个简单的报错:

在 .NET Framework Data Provider for Microsoft SQL Server Compact 3.5 中发生错误。请与提供程序供应商联系以解决此问题。

解决方案如下:

1.打开注册表

2.分别删掉以下两个注册表文件

32位操作系统

(1) HKEY_LOCAL_MACHINESOFTWAREMicrosoftVisualStudio10.0DataProviders{7C602B5B-ACCB-4acd-9DC0-CA66388C1533}

(2)HKEY_LOCAL_MACHINESOFTWAREMicrosoftVisualStudio9.0DataProviders{7C602B5B-ACCB-4acd-9DC0-CA66388C1533}

64位操作系统

(1)  HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftVisualStudio10.0DataProviders{7C602B5B-ACCB-4acd-9DC0-CA66388C1533}

(2)HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftVisualStudio9.0DataProviders{7C602B5B-ACCB-4acd-9DC0-CA66388C1533}

再重新试一下,完美解决了。

导入数据模型的时候, 可能导入空的edmx, 然后报这个错:

无法生成模型:“表“TableDetails”中列“IsPrimaryKey”的值为 DBNull。

这是mysql导入EF的一个bug, 解决办法:

在数据库中输入:

use <<database name>>;
set global optimizer_switch='derived_merge=OFF';

后面不用看, 是VS2015的步骤, 重复了N次, 都以失败告终, 别试了.

==========================================================================================================

参考 http://blog.csdn.net/majormayer/article/details/50510223

ADO.NET实体数据模型默认是不支持MySQL数据库的,本文档将介绍如何让VS ADO.NET实体数据模型支持MySQL。

1.下载mysql installer. http://www.mysql.com/why-mysql/windows/visualstudio/

2.安装mysql, 勾选里面的for visual studio插件, 版本不能错:

    MySQL Connector/Net(http://dev.mysql.com/downloads/connector/net/)Version:6.9.8 X86

    MySQL  for VisualStudio(http://dev.mysql.com/downloads/windows/visualstudio/)Version:1.2.5 X86

3.在visual studio中新建一个Asp.net Mvc的项目

4.打开 菜单"工具"->"库程序包管理器"->"程序包管理器控制台",然后在VS工作区域的右下方会出现一个”程序包管理器控制台“命令操作台。

5.输入命令Install-Package EntityFramework

6.上面这个应该已经存在, 再输入 Install-Package MySql.Data.Entity,安装Mysql支持.注意:执行此命令前, 该解决方案的引用里不能有其它版本的MySql.Data.Entity.EF6包, 否则会发生异常

7.安装好了之后,这儿我们需要注意一个问题,Web.config下面的节点自动生成是有问题的,

搜索mysql的provider这个尖括号,

<provider ................></provider>

改为

<provider ................/>

8.重启解决方案, powerShell出现报错:

无法加载文件 C:\Users\yangyiru\Documents\Visual Studio 2015\Projects\webTestForMysql\packages\EntityFramework.6.1.3\tools\init.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 http://go.microso
ft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。

这是因为当前执行策略为限制性策略, 不允许执行没有签名的脚本.

get-executionpolicy 这个命令查看当前策略

若要在本地计算机上运行您编写的未签名脚本和来自其他用户的签名脚本,请使用以下命令将计算机上的 
    执行策略更改为 RemoteSigned:

set-executionpolicy remotesigned

但在win7/win8/win10下,必须使用管理员的权限启动命令命令行,否则会报“Set-ExecutionPolicy : 对注册表项“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell”的访问被拒绝。”错误。

所以,必须以管理员身份运行visual studio

再执行set-executionpolicy remotesigned

设置完后, 启动项目, 不再报错了

9.测试, 新建ADO.NET实体数据, 可以导入mysql数据库了

VS+mysql+EF搭建的更多相关文章

  1. .NET Core1.1+VS2017RC+MySQL+EF搭建多层Web应用程序

    先贴上解决方案截图 一.新建4个解决方案文件夹 1-Presentation 2-Application 3-Domain 4-Infrastructure 二.在解决方案文件夹中分别创建项目 其余项 ...

  2. 十二个 ASP.NET Core 例子——1.1版本 EF MySql快速搭建

    core1.0的时候搭建过一次mysql EF. 一大推问题.最近在core1.1 又重新搭了一次.简单搭建还挺快,没出现什么幺蛾子.总结下步骤 建立项目,例如ASP.NET Core1.1 WebA ...

  3. Linux CentOS 安装MySql以及搭建MySql主从复制

    前言 在之前的博客中,有过几篇都写了关于mysql在linux下的搭建教程,可能以后还会再写,但是又不想重复在写, 于是便想单独将此抽出来,单独写成一篇博客,并详细记录一些安装过程以及遇到的问题解决办 ...

  4. Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境搭建教程

    原文地址:http://www.osyunwei.com/archives/7378.html 搬运是为了自己找资料方便. 准备篇 一.环境说明: 操作系统:Windows Server 2012 R ...

  5. django+nginx+xshell简易日志查询,接上<关于《rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>》的反思>

    纠正一下之前在<关于<rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>>的反思>中说到的PHP+MySQL太慢,这里只是说我技术不好,没 ...

  6. 关于《rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>》的反思

    关于<rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>>的反思--链接--http://www.cnblogs.com/drgcaosheng/p/ ...

  7. Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境搭建教程

    准备篇 一.环境说明: 操作系统:Windows Server 2012 R2 PHP版本:php 5.5.8 MySQL版本:MySQL5.6.15 二.相关软件下载: 1.PHP下载地址: htt ...

  8. mysql 主从搭建步骤

    mysql 主从搭建步骤 1:主库开启master端bin-log 2:主库创建备份用户 3:主库全备 4:从库导入全备数据 5:从库修改change master to信息 6:从库slave st ...

  9. EF搭建可扩展菜单

    EF实现可扩展性菜单 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !impo ...

随机推荐

  1. C++之类静态成员变量和静态成员函数

    1.静态成员变量必须在类外初始化 2.静态成员变量在类中不占内存字节: 3.静态成员变量,被所有的类对象共 享 class G {public: static int a; //静态成员变量 int ...

  2. 鸟哥的linux私房菜服务器架设篇第五章linux常用网络指令

    ifconfig主要可以手动启动观察修改网络接口的相关参数 ifdown,ifup用来启动和关闭接口,后面直接接接口名称 两部主机两点沟通:ping 两主机之间各节点分析 traceroute 查看本 ...

  3. scrapy-splash抓取动态数据例子九

    一.介绍 本例子用scrapy-splash抓取众视网网站给定关键字抓取咨询信息. 给定关键字:个性化:融合:电视 抓取信息内如下: 1.资讯标题 2.资讯链接 3.资讯时间 4.资讯来源 二.网站信 ...

  4. volatile型变量自增操作的隐患

      用FindBugs跑自己的项目,报出两处An increment to a volatile field isn't atomic.对应报错的代码例如以下: volatile int num = ...

  5. hibernate学习系列-----(8)hibernate对集合属性的操作之Collectioon集合篇

    度过短暂的周末,又到了周一,继续轻松而愉快的学习,紧承以前的学习,继续了解hibernate对集合的操作学习之旅! 在上一篇中,就已经提前说过,这一篇的内容以及下一篇的内容会有很多相似之处,这里就不再 ...

  6. leetcode 二分查找 Search in Rotated Sorted Array

    Search in Rotated Sorted Array Total Accepted: 28132 Total Submissions: 98526My Submissions Suppose ...

  7. HDFS主要节点解说(一)节点功能

    1 HDFS体系结构简单介绍及优缺点 1.1体系结构简单介绍  HDFS是一个主/从(Mater/Slave)体系结构.从终于用户的角度来看,它就像传统的文件系统一样,能够通过文件夹路径对文件运行CR ...

  8. IOS Exception2 this class is not key value coding-compliant for the key Click

    2015-06-16 23:00:53.706 MyIOSPackage[823:280049] *** Terminating app due to uncaught exception 'NSUn ...

  9. Linux /proc/pid目录下文件的含义 (转)

    2013-01-16 16:10:36 分类: LINUX attr: 进程的属性 cmdline: 启动进程时执行的命令 cwd: 指向进程当前工作目录的软链 environ: 进程执行时使用的环境 ...

  10. 移动负载均衡技术(MBL)

    移动负载均衡技术(MBL)   转至元数据结尾 附件:5 被admin添加,被admin最后更新于四月 27, 2015 转至元数据起始 互联网技术发展到今天,已经进入移动时代,很多在传统CS和BS的 ...