医院网站建设 不足重庆设计网站
医院网站建设 不足,重庆设计网站,甘肃建设厅官方网站,邯郸市永年区做网站的公司一. 简介 EF连接数据库有三种模式#xff0c;分别是DBFirst、ModelFirst、CodeFirst#xff0c;分别适用于不同的开发场景。 该章节#xff0c;将主要介绍EF的DBFirst连接SQLServer数据库和MySql数据库两种操作方式 该模式在EF中出现的出现的最早#xff0c;符合我们的传统…一. 简介 EF连接数据库有三种模式分别是DBFirst、ModelFirst、CodeFirst分别适用于不同的开发场景。 该章节将主要介绍EF的DBFirst连接SQLServer数据库和MySql数据库两种操作方式 该模式在EF中出现的出现的最早符合我们的传统开发模式先设计数据库→然后在代码通过EF与数据库建立映射关系是EF最早的一种使用方式,使用广泛.以数据库为驱动生成实体模型从而驱动整个开发流程。 (1). 优点操作简单,直接通过可视化界面与数据库表(存储过程、视图等)建立映射关系省去自己建立表实体的繁琐步骤. (2). 缺点与表依赖太强,而且实体是通过T4模板生成的无法自己根据实际需要来修改并且一旦数据库修改就需要重新映射edmx文件了. (3). 特点通过T4模板来生成EF上下文和实体模型; 并且可以直接将存储过程或视图映射到生成的上下文中,通过EF上下文直接调用存储过程详见 EF调用存储过程章节 二. DBFirst连接SQLServer数据库
1. 选择ADO.NET数据实体模型 2. 选择模型内容来自数据库的EF设计器 3. 设置服务器及连接字符串 4. 选择数据库的连接并且可以设置配置文件的名称 5. 选择要映射的表、视图、存储过程和函数完成映射 6. 如果框架是分层的需要将生产的连接数据库的字符串复制到主程序的配置文件中 三. DBFirst连接MySQL数据库 事先准备和注意事项 步骤 ①安装mysql-connector-net-6.9.9.msi,下载地址https://dev.mysql.com/downloads/connector/net/ vs2012-vs2017通用 ②安装mysql-for-visualstudio-1.2.7.msi,下载地址https://dev.mysql.com/downloads/windows/visualstudio/ (vs2012-vs2017通用) ③连接远程服务器需要先在对应数据库服务器上对访问外来的ip和用户名、密码进行授权。 如GRANT ALL PRIVILEGES ON *.* TO root39.88.192.171 IDENTIFIED BY 123456 WITH GRANT OPTION; 表示ip为39.88.192.171的root用户、密码为123456可以远程访问该数据库服务器 ④安装常规的DBFist模式进行连接即可,但连接界面要选择MySQL对应的界面。 特别注意在使用该模式的时候会遇到这么几个烦人的情况,如果该项目中已经引用的了EF的程序集在可视化界面无法选择EF版本。 但是如果你把引用的程序集删了可视化界面只能选择EF5.0 所以解决方案 步骤①如果引用了EF的程序集先删掉然后用可视化界面把EF5.0添加进来然后在使用Nuget把EF5.0卸载掉。 步骤②通过nuget一次添加 EF6.x、MySql.Data、MySql.Data.Entity、MySql.Web 程序集的引用. 步骤③如果是分层开发,不但要向封装层添加引用还要想主程序层添加EF6.x、MySql.Data、MySql.Data.Entity、MySql.Web 程序集的引用. 步骤④主程序层配置文件中entityFramework→providers节点下添加 provider invariantNameMySql.Data.MySqlClient typeMySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6/provider 如果是通过Nuget添加的程序集检查一下是否已经自动添加了避免重复添加的情况
链接步骤使用MySQL的客户端界面 代码测试和SQLServer写法并没有什么两样 1 private static void NewMethod()2 {3 Console.WriteLine(-----------------------1. DBFirst模式连接MySQL数据库-------------------------------);4 using (DbContext db new mysqldb1Entities())5 {6 //1.1 测试查询 正常7 //Listtbb1 tList db.Settbb1().ToList();8 //foreach (var item in tList)9 //{
10 // Console.WriteLine(id为{0},name为:{1}, item.id, item.name);
11 //}
12
13 //1.2 测试一下大数据 正常
14 Stopwatch watch Stopwatch.StartNew();
15 Listtbb1 tList2 new Listtbb1();
16 for (int i 0; i 1000; i)
17 {
18 tbb1 t new tbb1();
19 t.id Guid.NewGuid().ToString(N);
20 t.name t i;
21 tList2.Add(t);
22 }
23 db.BulkInsert(tList2);
24 watch.Stop();
25 Console.WriteLine({0}条数据耗时{1}, 1000, watch.ElapsedMilliseconds);
26 }
27 }
28 #endregion
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/87123.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!