当前位置: 首页 > news >正文

用asp.net做的网站框架泰安网站制作公司电话

用asp.net做的网站框架,泰安网站制作公司电话,艺术留学机构,网页图片素材什么是ORM? 对象关系映射#xff08;英语#xff1a;Object Relation Mapping#xff0c;简称ORM#xff0c;或O/RM#xff0c;或O/R mapping#xff09;#xff0c;是一种程序技术#xff0c;用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说英语Object Relation Mapping简称ORM或O/RM或O/R mapping是一种程序技术用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。   一般的ORM包括以下四部分一个对持久类对象进行CRUD操作的API一个语言或API用来规定与类和类属性相关的查询一个规定MAPPING METADATA的工具一种技术可以让ORM的实现同事务对象一起进行DIRTYCHECKING, LAZY ASSOCIATION FETCHING以及其他的优化操作。 本次对比的.NET ORM框架 1. Entity Framework 官网 https://msdn.microsoft.com/zh-cn/data/ef.aspx 2. Dapper 官网 https://github.com/StackExchange/dapper-dot-net 3. PetaPoco 官网 http://www.toptensoftware.com/petapoco/   对比因素 1. 操作的难易程度 2. 执行的效率 3. 跨数据库的使用   Entity Framework 1.新建C#控制台   2. 使用NuGet引用EF组件 项目引用 右键 管理NuGet程序包 在联机里下载并安装Entity Framework    项目右键 新建 添加 新建项 ADO.NET实体数据模型  我这里的CLN用的是数据库名    添加过以后 有一个实体模型数据向导 选择 从数据库生成 下一步 这里是配置数据库连接 新建连接 将App.Config的实体连接设置为CLNContext   然后又出现一个对话框  -- 您要在模型中包含哪些数据库对象这里把表勾上点击完成就OK了然后会弹出两个警告框这是因为有两个TT模板需要执行不用管它确定就行了这是出现了Edmx数据库模型关系图   接下来就是进入项目的 Program.cs里面写代码了 static void Main(string[] args){Stopwatch S new Stopwatch();  //秒表对象 计时S.Start();            var DBContext new CLNContext();            foreach (var item in DBContext.NT_Photo){Console.WriteLine(item.PostIP);}Console.WriteLine(S.Elapsed);Console.ReadKey();}   NT_Photo 表里有600多条数据这里看到查询的速度还是蛮快的  EF用时5.9秒   Dapper 1.同样新建控制台程序 2. NuGet引用Dapper Dapper没有EF那么强大相当于一个SqlHelper我们需要手动配置连接字符串这里把刚才EF生成的NT_Photo.cs 模型类放到项目里面然后就是就是进入到Program.cs里面写代码了 using System; using System.Collections.Generic; using System.Configuration; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; using Dapper; using System.Diagnostics; using System.Threading; namespace DapperForsql {     class Program     {         static void Main(string[] args)         {                          Stopwatch w new Stopwatch();             w.Start();             var str data source.;initial catalogCLN20140830;integrated securityTrue;             SqlConnection Con new SqlConnection(str);             var list Con.QueryNT_Photo(select * from NT_Photo);             foreach (var item in list)             {                 Console.WriteLine(item.PostIP);             }             Console.WriteLine(w.Elapsed);             Console.ReadKey();         }     } }   我们这里用了SqlConnertion对象因为Dapper是对IDbConnection做了扩展 SqlConnection是实现了IDbConnection然后在我们引用Dapper的命名空间using Dapper;     这里可以看到Dapper比EF更快  Dapper用时3.0秒   PetaPoco 1.同样新建控制台程序 2.使用NuGet引用PetaPoco组件 3.配置App.Config里的连接字符串 ?xml version1.0 encodingutf-8 ? configurationconnectionStringsadd nameCLNContext connectionStringdata source.;initial catalogCLN20140830;integrated securityTrue; providerNameSystem.Data.SqlClient //connectionStringsstartup supportedRuntime versionv4.0 sku.NETFramework,Versionv4.5 //startup /configuration 4. 安装PetaPoco后同样会自动生成数据库访问上下文和模型Model这里打开 Models - Database.tt 修改 ConnectionStringName CLNContext;这里要和App.Config里的连接字符串保持一致,更改过以后保存会自动生成数据库访问上下文Models - Database.tt - Database.cs 5.准备工作完毕就是进入正题了同样进入到 Program.cs  static void Main(string[] args){           var Context new CLNContext.CLNContextDB();Stopwatch s new Stopwatch();s.Start();            var list Context.QueryNT_Photo(select * from NT_Photo);            foreach (var item in list){Console.WriteLine(item.PostIP);}Console.WriteLine(s.Elapsed);Console.ReadKey();} 这里PetaPoco 也有数据库访问上下文CLNContextDB()不过也是需要写SQL语句的先看一下查询速度 在这里可以看到PetaPoco貌似更快 PetaPoco用时2.4秒 其实PetaPoco更强大的是它对模型做了增删改查的方法这就非常方便了 NT_Photo PP new NT_Photo(); var res PP.Insert(); //res就是返回插入的数据的ID 对比结果: 这里可以看到EFDapperPetaPoco 的差别了 NT_Photo 600多条数据 EF            ------   5.9秒 Dapper     -------  3.0秒 PetaPoco   -------  2.4秒   其实EF第一次的话会慢一些第一次会把一些模型数据加载到内存中后面就非常快了这里贴一个EF 暖机代码 //EF暖机 using (var db new CLNContext()){                var objectContext ((IObjectContextAdapter)db).ObjectContext;                var mappingCollection (System.Data.Entity.Core.Mapping.StorageMappingItemCollection)objectContext.MetadataWorkspace.GetItemCollection(System.Data.Entity.Core.Metadata.Edm.DataSpace.CSSpace);mappingCollection.GenerateViews(new System.Collections.Generic.ListSystem.Data.Entity.Core.Metadata.Edm.EdmSchemaError());} 总结每个ORM的存在都有它的价值不能说哪个哪个好EF是微软自家推出的很多代码都是自动生成的一句SQL语句都不用写确实非常方便但是EF的包很大有5M多而且微软封装好的也不太利于扩展像写一些复杂的SQl语句就不是很方便了Dapper 和PetaPoco相比下来都是比较轻的而且用起来的话也是非常灵活的。哪一个更适合你的项目用起来更顺手才是最好的选择方案。 原文地址http://www.cnblogs.com/myshowtime/p/5951270.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注
http://www.yutouwan.com/news/318463/

相关文章:

  • 网站公司动态做不了怎么办衡阳县建设局网站
  • 做演讲和做演讲视频网站阿里邮箱注册
  • 如皋网站开发公司建造师人才网交流平台
  • 微信做购物网站怎么抽佣做网站学哪个语言最好
  • 网站源码网站电商培训机构排名
  • 浏览器打开网站404网站优化推广 site
  • 网站手机端制作软件个人怎么做微信公众号和微网站吗
  • oecms(php企业网站管理系统)姜堰住房和城乡建设厅网站首页
  • 动漫网站开发设计思想手机有些网站打不开怎么解决
  • 公司网站简介怎么做wordpress汉化插件软件
  • 免费合同模板网站中国招标网官网首页
  • 襄樊seo快速排名seo引擎优化工具
  • 一个网站备案号是冒用其它公司的企业文化培训心得体会
  • 天津营销网站建设联系方式成都网站建设 平易云
  • 网站帮助中心设计邯郸招工信息网
  • 怎样在手机上制作网站visual studio
  • 网站双机热备怎么做西安市做网站公司有哪些
  • 网站没有icp备案怎么访问南昌装修公司
  • 网站建设 案例互联网装饰网站
  • 销售网站模板搭建视频服务器
  • 网站开发流程pptwordpress指定关键词自动内链
  • 珠宝企业的门户网站开发知乎自媒体平台注册
  • wamp在网站建设中的功能及协作关系深圳网站seo优化公司
  • 阿里云备案 网站备案域名购买什么网站从做系统
  • 营销型网站建设调查表如何做公司介绍视频网站
  • 如何备份网站网站做营销推广的公司
  • 商丘网站建设推广渠道企业网站建设的意义
  • 票务网站开发端口iis网站目录权限
  • 做灯饰的企业都会在哪些网站网站设计规划说明书
  • 网站推广哪个平台好中英文网站栏目修改