为了学习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. Java MyBatis 插入数据库返回主键

    最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User ...

  2. ASP.NET Core应用针对静态文件请求的处理[4]: DirectoryBrowserMiddleware中间件如何呈现目录结构

    和StaticFileMiddleware中间件一样,DirectoryBrowserMiddleware中间本质上还是定义了一个请求地址与某个物理目录之间的映射关系,而目标目录体现为一个FilePr ...

  3. redis 学习笔记(1)

    redis持久化 snapshot数据快照(rdb) 这是一种定时将redis内存中的数据写入磁盘文件的一种方案,这样保留这一时刻redis中的数据镜像,用于意外回滚.redis的snapshot的格 ...

  4. vmware上网的方式

    vmware上网设置 vmware虚拟机上网设置 我的一些心得,如下: 如何使vmware虚拟机中的操作系统能够上网? 第一种情况: 主机使用PPPOE拨号上网 方法一:NAT方式 1.先关闭虚拟机中 ...

  5. 微信小程序初探

    做为码农相信大家最近肯定都会听到微信小程序,虽然现阶段还没有正式开放注册,但大家可以还是可以开发测试. 到微信的WIKI(http://mp.weixin.qq.com/wiki?t=resource ...

  6. "NHibernate.Exceptions.GenericADOException: could not load an entity" 解决方案

     今天,测试一个项目的时候,抛出了这个莫名其妙的异常,然后就开始了一天的调试之旅... 花了很长时间,没有从代码找出任何问题... 那么到底哪里出问题呢? 根据下面那段长长的错误日志: -- ::, ...

  7. bzoj1723--前缀和(水题)

    题目大意: 你难以想象贝茜看到一只妖精在牧场出现时是多么的惊讶.她不是傻瓜,立即猛扑过去,用她那灵活的牛蹄抓住了那只妖精.     "你可以许一个愿望,傻大个儿!"妖精说.     ...

  8. Maven 代理设置

    在maven的安装目录下 %MAVEN_HOME%/conf/setting.xml 中进行设置 <proxies>    <!-- proxy     | Specificatio ...

  9. css样式之border-radius

    border-radius 属性设置边框的园角 可能的值:像素,百分比 扩展延伸 html代码 <div></div> css代码 div { height: 200px; w ...

  10. 热修复-Tinker

    微信开源,真是喜出望外,必须要去看看啊,比起nuwa来微信好很多,而且github上也有专门的官方文档说明,还有很多资料查询 参考地址:https://github.com/Tencent/tinke ...