EF添加ADO.NET实体模型处直接选择Mysql数据源

最近想到EF是连接多数据库的orm框架,于是就想测试下。查了一堆网上资料后,测试连接mysql成功。步骤如下:

1、在你项目Model层中nuget安装MySql.Data.Entity

如果没安装这个provider 就进行下面的步骤。就会出现:

2、MySql官网下载mysql-installer-community-5.7.13.0

我这边是没安装过mysql,所以是安装全部,第一个选项,MySql Installer。主要目的除了安装mysql,就是安装mysql对于vs的数据源驱动,便于我们在新建ADO.NET实体模型的时候,选择对应的数据源(MySQL Database)。

3、安装好后,我这个传说中的window程序员必须要下个图形化管理界面。

然后里面新建个数据库,测试用。

4、接下来就可以进行测试啦~~~

首先在VS中新建个类库,这个不多说了,新建项目-->ADO.NET实体模型

新建连接

更改数据源

选择MySQL Database

Server name:localhost

用户名密码就不多说了。

然后就开始选择表进行实体映射,然后问题就出来了~~~

很奇怪哦,我们压根没这个TableDetails这个表,又哪儿来的主键类型为null。

百度!无所不能的网友给出了个解决问题的网址——>stakoverflow:

http://stackoverflow.com/questions/33575109/mysql-entity-the-value-for-column-isprimarykey-in-table-tabledetails-is

老外回答简洁,靠谱。

根据这回答咋操作呢?直接扔截图吧。

打开mysql的cmd窗口

use test;

set global optimizer_switch='derived_merge=OFF';

问题解决~~~~

这里注意(对于不熟悉mysql命令行的同志,比如我):结尾一定加分号!!!

上文测试用的数据库test下的school表就映射成功勒

完美~~~

提问:对于oracle,postgresql,这些数据库我也下载了,可能选择更改数据源的时候没有出来这些选项,这是需要我们单独去安装的吗?哪儿安装?找不到....

相关节点配置(个人纪录):

1、UI的webconfig配置数据库连接字符串肯定是少不了的。(连接字符串在我们Model层创建ADO.NET实体模型的时候就自动生成在了Model层的APPCONFIG中,拷贝过来即可)

<connectionStrings>
<!--mysql的数据库连接字符串-->
<add name="MysqlEntities" connectionString="metadata=res://*/ModelMysql.csdl|res://*/ModelMysql.ssdl|res://*/ModelMysql.msl;provider=MySql.Data.MySqlClient;provider connection string="server=localhost;user id=joey;password=lovemary;persistsecurityinfo=True;database=test"" providerName="System.Data.EntityClient" />
</connectionStrings>

2、nuget安装MySql.Data.Entity只需在Model层中进行,但是跟连接字符串一样,得再webconfig中定义一个节点,节点里面写路径方便程序去读取相关信息。

在entityFramework节点下添加MySql.Data.MySqlClient(System.Data.SqlClient是我们在UI nuget EntityFramework的时候自动加载的,sqlserver的驱动信息)

MySql.Data.MySqlClient同样我们在Model层nuget MySql.Data.Entity后就加进了APPCONFIG中,拷贝到UI的webconfig即可。(若嫌麻烦,就直接在UI层也nuget MySql.Data.Entity,节点就自动加上去了)

<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</providers>
</entityFramework>

  

如果您认为这篇文章还不错或者有所收获,可以点击右下角的【推荐】按钮,因为你的支持是我继续写作,分享的最大动力!
声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论。非商业,未授权,贴子请以现状保留,转载时必须保留此段声明,且在文章页面明显位置给出原文连接。

EF选择Mysql数据源的更多相关文章

  1. vs2012新建实体数据模型(EF)时无Mysql数据源

    sql转mysql数据库,用到EF,遇到vs2012新建实体数据模型时无Mysql数据源的问题. 问题截图如下: 解决方法1:(简单的的解决方法,有可能解决问题,如不能解决问题,请看解决方法2): ( ...

  2. 关于VS2017,VS2015 中利用 EF使用Mysql 不显示数据源问题解决方案

    在win7,win10,vs2015,vs2017之间折腾了两天,死活就是调不出来Mysql数据源.真是活见鬼了. 直接说方案吧. 一,卸载你所安装过的mysql-connector-net.mysq ...

  3. 简述C#中IO的应用 RabbitMQ安装笔记 一次线上问题引发的对于C#中相等判断的思考 ef和mysql使用(一) ASP.NET/MVC/Core的HTTP请求流程

    简述C#中IO的应用   在.NET Framework 中. System.IO 命名空间主要包含基于文件(和基于内存)的输入输出(I/O)服务的相关基础类库.和其他命名空间一样. System.I ...

  4. Visual Studio2015 、2017中如何支持MYSQL数据源

    原文:Visual Studio2015 .2017中如何支持MYSQL数据源 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/ght886/arti ...

  5. Visual Studio2015 、2017中如何支持MYSQL数据源(转)

    转至:https://blog.csdn.net/ght886/article/details/80902457 Visual Studio默认只显示微软自己的SQL Server数据源,如下图所示: ...

  6. Loadrunner参数化连接oracle、mysql数据源报错及解决办法

    Loadrunner参数化连接oracle.mysql数据源报错及解决办法 (本人系统是Win7 64,  两位小伙伴因为是默认安装lr,安装在 最终参数化的时候,出现连接字符串无法自动加载出来: 最 ...

  7. Visual Studio2017中如何让Entity Framework工具【ADO.NET实体数据模型】支持MYSQL数据源

    熟悉Entity Framework应该对以下图片不陌生,他就是ADO.NET实体数据模型向导:可以将数据库的表自动生成模型类,或者创建Code First的模型文件. 但是这个模型向导默认只显示微软 ...

  8. 基于geoserver的REST服务完成mysql数据源动态发布

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 在之前的<简析GeoServer服务的内部文件组织以及 ...

  9. Linux下coreseek环境安装 、mysql数据源、sphinx扩展安装及php调用

    一.安装m4-1.4.13.autoconf-2.64.automake-1.11.libtool-2.2.6 下载安装m4-1.4.13.autoconf-2.64.automake-1.11.li ...

随机推荐

  1. python终极篇 --- django---班级管理系统

    周末没事自己写了个班级管理系统,虽然简单,但也算个前期学习的总结吧 from django.db import models # Create your models here. class Banj ...

  2. 07-Mysql数据库----数据类型

    介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 详细参考链接:http://www.runoob.com/mysql/mysql-data- ...

  3. Codeforces Round #345 Div.1 D.Zip-line 动态最长上升子序列

    题意概述: 给出一个长度为N的序列和M组询问,问假设把某个位置的值改成另一个给出的值之后,序列的最长上升子序列的长度. N,M<=400000. 分析: 考虑某个位置的值改动后这个位置和最长上升 ...

  4. DFS(6)——hdu1342Lotto

    一.题目回顾 题目链接:Lotto Sample Input 7 1 2 3 4 5 6 7 8 1 2 3 5 8 13 21 34 0 Sample Output 1 2 3 4 5 6 1 2 ...

  5. lintcode-114-不同的路径

    114-不同的路径 有一个机器人的位于一个 m × n 个网格左上角. 机器人每一时刻只能向下或者向右移动一步.机器人试图达到网格的右下角. 问有多少条不同的路径? 注意事项 n和m均不超过100 样 ...

  6. css实现div一直旋转

    看到音乐播放器播放界面的唱片一直旋转,突然想到在网页中的一直旋转效果,所有特地查了一下分享出来 这是一个静态的div,然后把它旋转动起来.效果请看右上角的音乐播放按键一样. 代码如下: <htm ...

  7. yaf的安装

    http://kenby.iteye.com/blog/1979899 yaf源码分析学习网站 # wget https://github.com/laruence/php-yaf/archive/m ...

  8. [poj 1947]树dp+背包问题

    题目链接:http://poj.org/problem?id=1947 看了很多题解都是直接一遍dfs就搞定的方法,但是我实在是没看懂那个转移方程.最后在茫茫博客中终于发现了一个有逻辑的方法,但是复杂 ...

  9. 1040: [ZJOI2008]骑士~基环外向树dp

    Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各界的赞扬.最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争.战火绵延五百里,在和平环境中 ...

  10. 解决perm size out of memeory的问题

    在idea中配置如下即可 -Xms1024m -Xmx1024m -XX:MaxNewSize=512m -XX:MaxPermSize=512m 如下图所示: