EF选择Mysql数据源

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

 

老外回答简洁,靠谱。

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

打开mysqlcmd窗口

use test;

set global optimizer_switch='derived_merge=OFF';

问题解决~~~~

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

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

完美~~~

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

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

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>

 

  

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

 

转载于:https://www.cnblogs.com/joeymary/p/5634262.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/284291.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JIRA简介及基本概念

目录 第一章 JIRA简介 1.1 什么是JIRA 1.2 JIRA的主要功能 1.3 JIRA的主要特点 1.3.1 JIRA的优点 1.3.2 JIRA的缺点 1.4 相关版本 第二章 JIRA的基本概念 2.1 JIRA 中涉及的角色 2.1.1 管理人员 2.1.2 项目管理者 2.1.3 开发人员 2.1.4 测试人员 2.2 问题 2.2.1…

CodeChef Chef and Churu [分块]

题意&#xff1a; 单点修改$a$ 询问$a$的区间和$f$的区间和 原来普通计算机是这道题改编的吧... 对$f$分块&#xff0c;预处理$c[i][j]$为块i中$a_j$出现几次&#xff0c;$O(NH(N))$&#xff0c;只要每个块差分加上然后扫一遍就行了不用树状数组之类的 修改&#xff0c;整块直接…

SkiaSharp 之 WPF 自绘 拖曳小球(案例版)

感谢各位大佬和粉丝的厚爱和关心( 催更)&#xff0c;我会再接再厉的&#xff0c;其实这也是督促自己的一种方式&#xff0c;非常感谢。刚写了一篇万字长文&#xff0c;自己也休养生息(低调发育)了一段时间&#xff0c;接下来来几个小案例。拖曳小球WPF的拖曳效果&#xff0c;基…

ABP学习资源整理

不同的编程语言都有构建Web Application的框架&#xff0c;比如C#中的ASP.NET Core和ABP&#xff0c;Java中的Spring Boot和Spring Cloud&#xff0c;Python中的Django和Flask&#xff0c;Node.js中的Express和Koa2&#xff0c;Go中的Beego和Gin等。今天要介绍的主角是ABP框架&…

【ArcGIS微课1000例】0049:制图表达(4)---自由式制图表达

文章目录 一、转换为自由表达并编辑二、将效果转换为几何当编辑地图时,可能会遇到一个独特的或显著的特征,需要专门的符号的情况,可以使用覆盖的制图表达来实现,但是往往不够。可能需要简单地绘制一个图形以达到要求的外观,这时可以尝试使用自由式制图表达。 自由式制图表…

基于FPGA的异步FIFO设计

今天要介绍的异步FIFO&#xff0c;可以有不同的读写时钟&#xff0c;即不同的时钟域。由于异步FIFO没有外部地址端口&#xff0c;因此内部采用读写指针并顺序读写&#xff0c;即先写进FIFO的数据先读取&#xff08;简称先进先出&#xff09;。这里的读写指针是异步的&#xff0…

EJB

Enterprise JavaBean,企业级javabean,是J2EE的一部分&#xff0c;定义了一个用于 开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。 是Java的核心代码&#xff0c;分别是会话Bean&#xff08;Session Bean&#xff09;&#xff0c;实体Be…

WinForm(一):开始一个WinForm程序

WinForm程序只能运行在Windows上&#xff0c;即使是基于.NET5&#xff0c;6&#xff0c;7也一样。因为WinForm的UI层对接的底层API是基于Windows的。用VisualStudio创建一个WinForm应用很简单&#xff0c;建议使用非.NET Framework版&#xff0c;因为.NET Framework微软渐渐不支…

【ArcGIS微课1000例】0050:Geodatabase属性域操作全解

文章目录 1. 属性域的创建2. 属性域的查看3. 属性域的删除与修改4. 属性域的关联地理数据库按照面向对象的模型存储地理信息,也可以将其非空间信息保存在表中。对于要素和表可以设置一些规则进行限制,对属性的约束称为属性域。 属性域是描述字段合法值的规则,是一种增强数据…

『JavaScript』核心

为什么80%的码农都做不了架构师&#xff1f;>>> 弱类型语言 JavaScript是一种弱类型的语言。变量可以根据所赋的值改变类型。原始类型之间也可以进行类型转换。其弱类型的物质为其带来了极大的灵活性。 注意&#xff1a;原始类型使用值传递&#xff0c;复合类型使用…

优酷VIP会员周卡只需7.5元,看《沉香如屑》用优酷视频

由杨紫、成毅主演的《沉香如屑》已上线7天。站内热度值已经破万&#xff0c;也拿下了4次日冠的好成绩。追优酷视频最新热剧不能没有优酷VIP会员啊&#xff0c;优酷的会员&#xff0c;价格算是最便宜的了&#xff0c;下面是幻海优品优酷VIP会员特价充值的价格。优酷VIP会员特价充…

Solr6.1.0Windows安装步骤

一、 环境 solr 6.1.0 下载地址 http://archive.apache.org/dist/lucene/solr/6.1.0/ jdk 1.8 tomcat8 二、 安装solr到tomcat 1.解压solr&#xff0c;把 solr-6.1.0\solr-6.1.0\server 下的solr-webapp 文件夹拷贝到tomcat 的webapps下&#xff0c;重命名为solr&#xff1b;…

[转]Autofac 框架初识与应用

一、前言 这上一篇中&#xff0c;主要讲述了什么是IoC容器&#xff0c;以及了解到它是DI构造函注入的框架&#xff0c;它管理着依赖项的生命周期以及映射关系&#xff0c;同时也介绍实践了在ASP.Net Core中,默认提供的内置IoC容器&#xff0c;以及它的实例注册方式和相应的生命…

【ArcGIS微课1000例】0051:Geodatabase子类型操作全解

子类型是要素类中具有相同属性的要素的子集&#xff0c;或表中具有相同属性的对象的子集。可 通过它们对数据进行分类。 子类型是特征类(或对象类)中特征(或对象)的次级分类。例如一个公路线要素类可以根 据其字段类型的值细分为“高速公路”和“普通公路”两个子类型。 子类…

在Winform程序中设置管理员权限及为用户组添加写入权限

在我们一些Winform程序中&#xff0c;往往需要具有一些特殊的权限才能操作系统文件&#xff0c;我们可以设置运行程序具有管理员权限或者设置运行程序的目录具有写入的权限&#xff0c;如果是在操作系统里面&#xff0c;我们可以设置运行程序以管理员身份运行&#xff0c;或者设…

数据库性能系列之索引(上)

前言上一次&#xff0c;我们从优化子查询的角度&#xff0c;讲解了一些简单的数据库性能优化方面的知识。通过优化子查询的顺序&#xff0c;包括合理使用IN和EXISTS&#xff0c;可以起到部分查询的效率提升。但对于其他大多数场景&#xff0c;如单表记录很大&#xff0c;或多表…

【ArcGIS微课1000例】0052:创建地理数据库注记(标准注记、要素关联注记、尺寸注记)

本文讲述创建地理数据库注记(标准注记、要素关联注记、尺寸注记)的方法。 文章目录 一、创建标准注记二、创建与要素关联的注记三、创建尺寸注记一、创建标准注记 标准注记不与地理数据库中的要素关联。标准注记的一个例子是,地图上标记某山脉的文字,没有特定的要索代表该…

Lambda表达式超详解

目录 背景 Lambda表达式的用法 函数式接口 Lambda表达式的基本使用 语法精简 变量捕获 匿名内部类 匿名内部类中的变量捕获 Lambda的变量捕获 Lambda表达式在类集中的使用 Collection接口 List接口 Map接口 总结 背景 Lambda表达式是Java SE 8中的一个重要的新特性.…

【ArcGIS微课1000例】0043:ArcGIS绘制国界线的3种方法

本文讲解ArcGIS绘制国界线的3种方法。 文章目录 1. 直接修改国界线符号2. 缓冲区工具3. 制图表达1. 直接修改国界线符号 直接修改国界线/省界线的符号。点击“线要素”出现符号选择器,点击【编辑符号】按钮,编辑成下面右图的形式。缺点:只能在边界一侧出现缓冲样式,如下面…