为了学习ORM,选择了EntityFramework,经历了三天两夜的煎熬,N多次错误,在群里高手的帮助下,终于成功,现在将我的心路历程记录下来,一是让自己有个记录,另外就是让其它人少走些弯路。

我的开发环境是Win7+VS2012,数据库环境是Ubuntu12.04+MySQL+Mono+Jexus

计划开发完后整个运行在Linux下。

1、下载MySQL Connector/Net 6.8.3

地址:http://dev.mysql.com/downloads/connector/net/

有几个版本,关于使用哪个版本需要参考另一篇文章:逆水寒龙 的博文《关于Linux和Windows下部署mysql.data.dll的注册问题》

还需要下载一个MySQL  for VisualStudio版本,用于在VS中可以在数据源中引用MySQL

地址:《Mysql for Visual Studio 》 http://www.05sun.com/downinfo/97255.html

2、下载并安装 EF6(我不知道这步是不是必须的,各位可以试下并告诉我,因为在NuGet中也有安装,不知道是否是一个意思,后面会写具体方法)

地址:http://www.microsoft.com/en-us/download/details.aspx?id=40762

3、打开VS2012,新建一个项目

4、在项目中先安装EF6。

点击“程序包管理器控制台”。

5、在代码下面会出现界面

6、在“PM>”后面输入:

Install-Package EntityFramework

7、再输入:Install-Package MySql.Data.Entity.EF6

8、注意一点,“这里引自逆水寒龙的博文”,一定要加上那段,最终如图中所示。(其实我的生成的是app.config

此时如果直接添加ado.net实体模型的话是有以下错误的:


注意了:App.config中生成的Provider是有问题的,这时候要手动添加红色线画出的一条:

<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />

9、重新生成一下整个解决方案,在项目里右键-》添加-》新建项

10、选择:数据-》ADO.NET 实体数据模型

11、选择“来自数据库的EF设计器”,这是DBFirst设计模式,如果这里选择了“来自数据库的Code First”,则就是通过代码来创建数据库。

因为我这里的选建立好的MySQL数据库,所以我选择了第一项。

11、选择“新建连接”-》“更改”-》MySQL

12、确定之后要输入MySQL的各项信息并选择相应的数据库

13、选择完毕后就是如下图所示,然后点击“下一步”

14、勾选所用的表,点“完成”

15、现在我们已经建立好了EF6的环境了,来一步程序试试

添加一个“Web窗体”,默认"WebForm1.aspx“,在其中增加一个Label控件,打开后台程序,写入以下代码

protected void Page_Load(object sender, EventArgs e)
        {
            KFClubEntities en = new KFClubEntities();
            this.Label1.Text = en.ServiceMan.FirstOrDefault().ServiceMan_Name;
        }

按F5运行,我这前提是已经建立好表结构与表内数据,大家可以按LINQ To SQL的语法去做。

好了,先写到这吧,至于开发完以后如果迁移到Ubuntu下,就得明天再试了。

VS2012+EF6+Mysql配置心路历程的更多相关文章

  1. VS2012+EF6+MYSQL配置

    安装以下三个插件: 1. EFTools6.1.0ForVS2012.msi 2. mysql-connector-net-6.8.3.msi 3. Mysql for Visual Studio 1 ...

  2. 阿里云服务器上安装mysql的心路历程(博友们进来看看哦)

    在阿里云花了100买了一台云服务器,配置如下: CPU: 1核 内存: 512MB 数据盘: 0G 带宽: 1Mbps 阿里云服务器安装mysql搞得我想吐血,搞了一个多星期,现在才搞好,而且,还有许 ...

  3. EF6 mysql配置

    如何把一个ef项目 从sqlserver改为mysql 首先在引入了ef的层再引入这两个包,注意两个的版本一定要一样,一定要一样,一定要一样,不然就会报错 MySql.Data.Entity目前的最新 ...

  4. 我的Java历程_maven配置的心路历程

    从github上download了个maven管理的开源项目,接下来随笔下安装maven的心路历程: 异常尴尬的是import进ide之后一个红色的感叹号!震惊!google一下知道了,maven没配 ...

  5. VS2012+EF6+Mysq

    为了学习ORM,选择了EntityFramework,经历了三天两夜的煎熬,N多次错误,在群里高手的帮助下,终于成功,现在将我的心路历程记录下来,一是让自己有个记录,另外就是让其它人少走些弯路. 我的 ...

  6. 顶级项目孵化的故事系列——Kylin的心路历程【转】

    现在已经名满天下的 Apache Kylin,是 Hadoop 大数据生态系统不可或缺的一部分,要知道在 Kylin 项目早期,可是以华人为主的开源团队,一路披荆斩棘经过几年的奋斗,才在 Apache ...

  7. [实战]MVC5+EF6+MySql企业网盘实战(21)——网盘操作日志

    写在前面 上篇文章介绍了一个bootstrap的分页插件,这篇将弄一个完整的例子,就以日志分页为例说明如何请求服务端然后进行分页. 系列文章 [EF]vs15+ef6+mysql code first ...

  8. [实战]MVC5+EF6+MySql企业网盘实战(20)——Bootstrap Paginator

    写在前面 考虑到数据量的问题,特引入bootstrap的分页插件.插件下载地址:https://github.com/lyonlai/bootstrap-paginator 系列文章 [EF]vs15 ...

  9. 心路历程-安装Docker

    心路历程-安装Docker 本机环境 Windows10 激活HyperV功能 新建CentOS虚拟机 centos docker安装 由于是新的虚拟机,所以没有docker旧版本的问题,不需要卸载旧 ...

随机推荐

  1. .Net Core MVC 网站开发(Ninesky) 2.4、添加栏目与异步方法

    在2.3中完成依赖注入后,这次主要实现栏目的添加功能.按照前面思路栏目有三种类型,常规栏目即可以添加子栏目也可以选择是否添加内容,内容又可以分文章或其他类型,所以还要添加一个模块功能.这次主要实现栏目 ...

  2. 如何用百度MIP快速搭建体验友好的移动页面

    在读这篇文章之前,请确定你已经了解MIP定义及加速原理.如果不确定的话,可以到MIP官网了解. 改造前期准备和注意事项: 你可以选择直接将原先的移动站点直接改成MIP站,也可以单独再做一套MIP站点与 ...

  3. C++实现线程安全的单例模式

    在某些应用环境下面,一个类只允许有一个实例,这就是著名的单例模式.单例模式分为懒汉模式,跟饿汉模式两种. 首先给出饿汉模式的实现 template <class T> class sing ...

  4. 测试一下StringBuffer和StringBuilder及字面常量拼接三种字符串的效率

    之前一篇里写过字符串常用类的三种方式<java中的字符串相关知识整理>,只不过这个只是分析并不知道他们之间会有多大的区别,或者所谓的StringBuffer能提升多少拼接效率呢?为此写个简 ...

  5. Microsoft Loves Linux

    微软新任CEO纳德拉提出的“Microsoft Loves Linux”,并且微软宣布.NET框架的开源,近期Microsoft不但宣布了Linux平台的SQL Server,还宣布了Microsof ...

  6. ZIP压缩算法详细分析及解压实例解释

    最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据 ...

  7. 客户端的验证插件validator

    简单,智能,令人愉悦的表单验证~~~ 官方文档:http://www.niceue.com/validator/ <!DOCTYPE html> <html> <head ...

  8. 学习ASP.NET Core, 怎能不了解请求处理管道[6]: 管道是如何随着WebHost的开启被构建出来的?

    注册的服务器和中间件共同构成了ASP.NET Core用于处理请求的管道, 这样一个管道是在我们启动作为应用宿主的WebHost时构建出来的.要深刻了解这个管道是如何被构建出来的,我们就必须对WebH ...

  9. 算法与数据结构(十七) 基数排序(Swift 3.0版)

    前面几篇博客我们已经陆陆续续的为大家介绍了7种排序方式,今天博客的主题依然与排序算法相关.今天这篇博客就来聊聊基数排序,基数排序算法是不稳定的排序算法,在排序数字较小的情况下,基数排序算法的效率还是比 ...

  10. python与c互相调用

    虽然python开发效率很高,但作为脚本语言,其性能不高,所以为了兼顾开发效率和性能,通常把性能要求高的模块用c或c++来实现或者在c或c++中运行python脚本来处理逻辑,前者通常是python中 ...