ORM艰辛路之EF】的更多相关文章

经过一段时间对EF的研究,发现EF还是有很大的作用的,起码比自己写代码快捷许多.不过往往一个学习一个新东西开始都是简单的,后面才慢慢了解到它的许多不方便 优点: EF在对一个实体的增删改以及继承方面做的都很好,尤其是喜欢许多ORM都做了缓存的功能,对数据库的压力减少不小.由于是微软的,文档也很多是英文,导致自己许多都看不懂,英语是一个硬伤啊! 缺点: 这个我不得不吐槽一下了,前不久把一个项目的底层从Nhibernate改成EF,因为Nhibernate功能比较强大,许多东西理解不透彻,导致在项目…
ORM之Entity Framework(EF) 一.下载安装: nuget 搜索Entity Framework安装 EntityFramework.Extension是个扩展库根据需要安装 二.使用: 1.modelFirst 2.codeFirst 3.dbFirst 三.优缺点: 优点: 1.开发速度快 2.支持linq 3.开发效率高 4.使用三种设计模式,比较直观(ModelFirst.CodeFirst.dbFirst) 5.支持多数据库 6.与vs IDE兼容好 缺点: 1.Co…
前言: 最近由于工作需要,需要选用一种ORM框架,也因此对EF Core.FreeSql.SqlSuger作简单对比.个人认为各有有优势,存在即合理,不然早就被淘汰了是吧,所以如何选择因人而议.因项目而议,下面开始正题. 本篇文章不讲解基础知识,如有需要可移步到相应官网:EF Core官方文档:https://docs.microsoft.com/zh-cn/ef/,FreeSql官方文档:http://freesql.net/guide.html,SqlSuger官方文档:http://www…
文章目录 前情概要 在使用nodejs开发过程中,刚好碰到需要做一个小工具,需要用到数据库存储功能.而我又比较懒,一个小功能不想搞一个nodejs项目,又搞一个后端项目.不如直接在nodejs里面把对数据库的操作也做掉. 结果百度一圈下来发现nodejs这边还都是比较原始的.类似后端的通过coneection连数据库,接着open,在写sql语句干嘛干嘛的.经过后端这么多年的脚手架工具熏陶,实在懒得写这些没营养的简单增删改查sql语句了. typeorm github地址 typeorm git…
首先推荐一篇很好的EF文章翻译,可以系统的学习一遍. <Entity Framework 6 Recipes>中文翻译系列 EF使用体会 优点: 可以省去Ado.net复杂的管道连接代码. 通过简单的引用就能完成对数据库的连接和开发. 可以省去一些SQL语句的编写,对一些底层可能需要适配多数据库提供了一些方便. 缺点: 学习成本较高,如果不怎么懂SQL,索引的一些数据库知识,也写不太好相对优化的Linq查询,所有EF既要懂Sql又懂Linq是最好的. 比较大,EF的dll默认是连接SqlSer…
ASP.NET MVC深入浅出系列(持续更新)   一. ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态模式,ViewState功不可没,通过的控件的拖拽和绑定,很快就可以搭建出来一个Web项目,其开发速度远胜Java.PHP,当年Web项目并不很重视体验,没有今天响应式,没有各种前端js框架,所以在当年的WebForm,微软是以引以为豪的. 该框架毕竟有时代局限性,随着前端的崛起,随着人们对项目体验的…
我学过或者用过的ORM有几种 EF NHibernate DevExpress  xpo (第一家公司用这个,也是很省力的orm,现在已经不记得了.) 今天晚上想找一下有没有轻量级的orm: fluentdata  有机会学习一下. 另外一个比较吸引我的是; telerik Data Access 因为现在的公司是使用telerik控件的.所以对它有一定的好感.因此在接下来7天里面 我会花时间,学习这个 DataAccess ORM.…
[本文篇幅较长,可以通过目录查看您感兴趣的内容,或者下载格式良好的PDF版本文件查看] 目录 一.ORM的"三国志"    2 1,PDF.NET诞生历程    2 2,Linq2Sql&EF:    3 3,微型ORM崛起    4 二.一决高下    4 2.1,ORM没有DataSet快?    4 2.1.1,ORM生成SQL的质量问题    4 2.1.2,DataReader没有DataSet快?    5 2,ORM的三个火枪手    6 2.1,委托+缓存   …
三层还是DDD,ORM还是Ado.Net,何去何从? 我本想把这个问题放到博问去,前几次有去博问问过之类的问题,无奈大神们可能都不屑回答别人的低级问题.所以放到随笔里,一方面把自己对ORM.架构的一些看法写下来抛砖引玉,另一方面最主要的是想寻求大神们指指路. 现况 缘由 公司的开发框架用了好些时间,团队在开发过程中遇到了不少问题,需要革新,我自己也有新的开发框架要做.在选择架构和选择数据库访问手段时,遇到不少问题. 架构 我做ASP.Net有些年头了,实际上这几年看过的架构设计不少,但是用的最多…
浅谈orm 记得四年前在学校第一次接触到 Ling to Sql,那时候瞬间发现不用手写sql语句是多么的方便,后面慢慢的接触了许多orm框架,像 EF,Dapper,Hibernate,ServiceStack.OrmLite 等.当然每种orm都有各自的优势,也有不足的地方.园子里也有很多大神开源了他们写的orm,如SqlSugar,Chloe.ORM,CYQ.Data 等.先不说这些开源的orm使用度怎么样,我觉得起码从开源的精神上就很可嘉了,我也曾下载过这几位大神的源码进行学习. 所有o…
什么是Dapper? Dapper是一款轻量级的ORM框架,大名鼎鼎! 由谷歌Google 开发,在N款orm框架中 效率是最快的 最高的! 经过数据测试 比EF快 12-20 倍 国外最大的技术网站 stackoverflow 也是基于这个Orm框架开发的,并且非常简单. 为什么使用Dapper? 轻量.只有一个文件(SqlMapper.cs),编译完成之后只有120k(好象是变胖了) 速度快.Dapper的速度接近与IDataReader,取列表的数据超过了DataTable. 支持多种数据…
接上文我们测试了各个ORM框架的性能,大家可以很直观的看到各个ORM框架与原生的ADO.NET在境删改查的性能差异.这里和大家分享下我对ORM框架的理解及一些使用经验. ORM框架工作原理 典型ORM框架实现 EF功能最强的ORM EF与EFCore缺陷 ORM框架工作原理 所有的ORM框架的工作原理都离不开下面这张图,只是每个框架的实现程度不同但是最终的目的是相同的. 如果是一个ORM框架那么一定会有上图中蓝色部分的这几个元素,无论是增删改查对于ORM一定是以对象为起点,使用对象构造出LINQ…
EF Core 快速上手--EF Core 介绍 本章导航 从本书你能学到什么 对EF6.x 程序员的一些话 EF Core 概述 1.3.1 ORM框架的缺点 第一个EF Core应用   本文是对<Entity framework in action>部分章节的翻译,某些场景也会附上笔者实践的Demo.尽管很认真的斟酌,但是水平有限,还请各位批评和斧正.   Entity Framework Core, 或者 EF Core,是一个方便软件工程师访问数据库的库.有很多方法来构建这样的一个库…
一. 谈情怀 从第一次接触开发到现在(2018年),大约有六年时间了,最初阶段连接数据库,使用的是[SQL语句+ADO.NET],那时候,什么存储过程.什么事务 统统不理解,生硬的将SQL语句传入SQLHelper类中,后来知道还要注意SQL注入,引入参数化的方式,现在回想一下,那个阶段简直Low到爆. (PS:现在很多场景下还是需要使用ADO.NET,所以没有最好,只有最适合) 凡事都是从零开始的,正是这个阶段积累,才有了后续的发展.一次机会,接触到了微软的EF(ps:如果没有记错的话,当时用…
一. 谈情怀 从第一次接触开发到现在(2018年),接近五年时间了,最初阶段连接数据库,使用的是[SQL语句+ADO.NET],那时候,什么存储过程.什么事务 统统不理解,生硬的将SQL语句传入SQLHelper类中,后来知道还要注意SQL注入,引入参数化的方式,现在回想一下,那个阶段简直Low到爆. (PS:现在很多场景下还是需要使用ADO.NET,所以没有最好,只有最适合) 凡事都是从零开始的,正是这个阶段积累,才有了后续的发展.一次机会,接触到了微软的EF(ps:如果没有记错的话,当时用的…
本篇适合新手了解学习orm.欢迎指正,交流学习. 现有的优秀的orm有很多. EF:特点是高度自动化,缺点是有点重. Nhibnate:缺点是要写很多的配置. drapper:最快的orm.但是自动化程度比较高. 正篇开始 1,简易添加 //调用方式 完成了简易添加,我们有新的问题要解决,比如类名和数据库表名,字段名和列名不一定是相同的:自增等特殊的字段等等. 在我们可以使用特性.Attribute. 特性的使用:特性必须继承自Attribute,特性可以附加在类,字段,方法等等上面.通过反射可…
原文地址:http://www.cnblogs.com/bluedoctor/p/3378683.html [本文篇幅较长,可以通过目录查看您感兴趣的内容,或者下载格式良好的PDF版本文件查看] 目录 一.ORM的"三国志"    2 1,PDF.NET诞生历程    2 2,Linq2Sql&EF:    3 3,微型ORM崛起    4 二.一决高下    4 2.1,ORM没有DataSet快?    4 2.1.1,ORM生成SQL的质量问题    4 2.1.2,Da…
我本想把这个问题放到博问去,前几次有去博问问过之类的问题,无奈大神们可能都不屑回答别人的低级问题.所以放到随笔里,一方面把自己对ORM.架构的一些看法写下来抛砖引玉,另一方面最主要的是想寻求大神们指指路. 现况 缘由 公司的开发框架用了好些时间,团队在开发过程中遇到了不少问题,需要革新,我自己也有新的开发框架要做.在选择架构和选择数据库访问手段时,遇到不少问题. 架构 我做ASP.Net有些年头了,实际上这几年看过的架构设计不少,但是用的最多的还是工厂三层,基本代码全靠代码生成器,仅代码生成器就…
EF(Entity Framework)是微软的一个ORM框架 使用过EF的同学都知道它有一个延迟加载的功能 那么这个延迟加载的功能到底是什么? 为什么需要延迟加载? 使用延迟加载的优点和缺点又各是什么? 可以通过一个简单的小例子来阐述EF的这些问题 首先使用到了两个很简单的数据表 关系图如下: T_Product的Uid关联到T_Users的Id,形成一个外键关系 是不是真的很简单= = 然后在测试项目中根据数据库添加EF数据模型 准备工作已经做好了,现在进入主题 首先需要搞明白的是:什么是延…
用CQRS+ES实现DDD 这篇文章应该算是对前三篇的一个补充,在写之前说个题外话,有园友评论这是在用三层架构在写DDD,我的个人理解DDD是一种设计思想,跟具体用什么架构应该没有什么关系,DDD也需要分层,也有三层架构的影子在里面.三层架构主要是表现层.业务层和数据层,而DDD已经没有数据层,三层结构里的模型是贫血的,而DDD却是充血的.如果你在用三层框架已经有了聚合,实体,值对象的概念,那说明你已经在靠近DDD了,或者你不愿相信罢了,当然你可以保留自己的观点,这里不作争论,我也不能作出结论,…
这篇博客只是作者客观看法,不喜勿喷,条条大路通罗马,路不同风景也不一样,接下来的路该怎么走? 简介:作者.net程序员一枚,工作已有四年,接触过.net平台winform,webform,mvc的开发,目前主要是web开发这块,当前公司处于闲置状态,偶尔接下小单子,喜欢学习,对java与php都不排斥. 一.论.net开发人员锐减,何故? java语言横空出世,面向对象等优势迅速让它风靡全球,微软不甘落后C#应运而生,特别是图形界面这块,winform后来居上,外人对.net的看法很多还停留在拖…
DDD/CQRS模式,微服务,容器 https://docs.microsoft.com/zh-cn/previous-versions/msp-n-p/ee658109(v=pandp.10) Web架构分层指南 一.概述 本章Web架构分层指南,参考了“Microsoft应用程序体系结构指南”(该书是在2009年出版的,当时出版是为了帮助开发人员和架构师更快速,更低风险地使用Microsoft平台和.NET Framework设计和构建有效,高质量的应用程序).虽然已过去十年了,技术架构已更…
1.前言 作为一个忠实的软粉,一直期待微软出跨平台,一直在等待.Net Core,因为刚毕业对于.Net的很多东西不是很熟知,就开始了.Net Core的摸索,一路上坎坎坷坷,对于新技术一直很期待,就开始漫长的.Net Core的学习和编写开源框架,希望自己写的文章能给.Net Core社区贡献一下自己的坎坷路,这一路所遇到的问题磕磕绊绊,各种问题层出不穷,但是我认为没有解决不了的问题,只有你想不想去做,摆好自己的心态,做好一个目标,你就会成功. 本系列文章只是对框架现有的一些技术做一个简单说明…
随笔分类 - asp.net core系列篇 asp.net core系列 68 Filter管道过滤器 摘要: 一.概述 本篇详细了解一下asp.net core filters,filter叫"筛选器"也叫"过滤器",是请求处理管道中的特定阶段之前或之后运行代码.filter用于处理横切关注点. 横切关注点的示例包括:错误处理.缓存.配置.授权和日志记录. filter可以避免重复代码,通过Attribut阅读全文 posted @ 2019-07-16 09:…
Ado.Net,用了N多年,Entity Framework也关注了很多年. 每当项目转型的时候,就花费大巴的时间,学习一番,潮流的东西. 这个Orm很多,这个EF很火,这么多年了,我还是不敢用,虽然比当年好多了. 当年也就是12年的时候,实体类是乱七八糟的一大堆,属性里是带功能的,不是单纯的实体类.而且,其他数据库支持的不是特别好.现在,实体类清丽了 很多,想着,用一下吧,却又把我吓到了,其实也没有特别的不好,只是太乱了. EF 官方的增删该查,最好的就是查询,剩下的三个,不敢恭维,基本的功能…
下面是一位同事对当前的产品开发框架提出的一些建议,以及我的回复.我觉得一些问题提得有一定的代表性,在征得本人同意后,将本邮件发布在博客中. 同时,也非常希望对框架.产品有好的建议的小伙伴,都可以给我发邮件:9474649 @ qq.com.    发件人: 胡庆访 发送时间: 2016-07-16 15:36 收件人: 杨盛元 主题: Re: 渣打银行项目,关于rafy框架,一点个人意见. 盛元:     由于最近工作时间的问题,一直没有回复你的技术建议,深感抱歉.     首先,非常感谢你提出…
返回总目录 本篇目录 公共连接和事务管理方法 ABP中的连接和事务管理 仓储类 应用服务 工作单元 工作单元详解 关闭工作单元 非事务的工作单元 工作单元方法调用其它 工作单元作用域 自动保存 IRepository.GetAll()方法 UnitOfWork特性的限制 选项 方法 事件 公共连接和事务管理方法 在使用了数据库的应用中,连接和事务管理是最重要的概念之一.何时打开一个连接,何时开始一个事务,如何释放连接等等. 你可能已经知道,Net使用了连接池.因此,创建一个连接实际上是从连接池中…
实体框架(Entity Framework)简介 简称EF 与ADO.NET关系 ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,早期被称为 ObjectSpace,最新版本是EF7[CodeOnly功能得到了更好的支持] 实体框架Entity Framework 是 ADO.NET 中的一组支持开发面向数据的软件应用程序的技术.是微软的一个ORM框架. 什么是O/R Mapping 广义上,ORM…
每次看到有新的ORM的时候,我总会留意一下,因为自己也写过一个这样的框架,人总是有比较之心的.我可能会down下来跑一跑,也可能不会这么做,这个取决于跑起来的难易程度.我是很懒的,有XML配置或其他稍微不直观的设置的,我总是懒得看.每当笔者谈论自己的ORM的时候,总会拿EF和Dapper说事儿,EF算官方的吧,Dapper则以效率著称.但是我很奇怪为什么ServiceStack.OrmLite这么NB的一个ORM却鲜为人提.我真想为它说一句话:.net的ORM框架中有一个非常优秀的成员叫Serv…
返回ABP系列 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板. ABP的官方网站:http://www.aspnetboilerplate.com ABP官方文档:http://www.aspnetboilerplate.com/Pages/Documents Github上的开源项目:http…