曙海教育集团
全国报名免费热线:4008699035 微信:shuhaipeixun
或15921673576(微信同号) QQ:1299983702
首页 课程表 在线聊 报名 讲师 品牌 QQ聊 活动 就业
 
 
     班级规模及环境--热线:4008699035 手机:15921673576( 微信同号)
         坚持小班授课,为保证培训效果,增加互动环节,每期人数限3到5人。
     上课时间和地点
  上课地点:【上海】:同济大学(沪西)/新城金郡商务楼(11号线白银路站) 【深圳分部】:电影大厦(地铁一号线大剧院站)/深圳大学成教院 【北京分部】:北京中山/福鑫大楼 【南京分部】:金港大厦(和燕路) 【武汉分部】:佳源大厦(高新二路) 【成都分部】:领馆区1号(中和大道) 【沈阳分部】:沈阳理工大学/六宅臻品 【郑州分部】:郑州大学/锦华大厦 【石家庄分部】:河北科技大学/瑞景大厦 【广州分部】:广粮大厦 【西安分部】:协同大厦
近开课时间(周末班/连续班/晚班):2024年12月30日......(欢迎您垂询,视教育质量为生命!)
     实验设备
       ☆资深工程师授课
        
        ☆注重质量 ☆边讲边练

        ☆合格学员免费推荐工作
        ★实验设备请点击这儿查看★
     质量保障
 

        1、培训过程中,如有部分内容理解不透或消化不好,可免费在以后培训班中重听;
        2、课程完成后,授课老师留给学员手机和Email,保障培训效果,免费提供半年的技术支持。
        3、培训合格学员可享受免费推荐就业机会。

 
课程大纲
   
 

关于ORM

一、什么是ORM

ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。 

 

二、使用ORM的优势 

优势一、 隐藏了数据访问细节,“封闭”的通用数据库交互,ORM的核心。他使得我们的通用数据库交互变得简单易行,并且完全不用考虑该死的SQL语句。快速开发,由此而来。 

优势二、ORM使我们构造固化数据结构变得简单易行

在ORM年表的史前时代,我们需要将我们的对象模型转化为一条一条的SQL语句,通过直连或是DB helper在关系数据库构造我们的数据库体系。而现在,基本上所有的ORM框架都提供了通过对象模型构造关系数据库结构的功能。这,相当不错。

 

三、使用ORM的缺点 

第一:无可避免的,自动化意味着映射和关联管理,代价是牺牲性能(早期,这是所有不喜欢ORM人的共同点)。现在的各种ORM框架都在尝试使用各种方法来减轻这块(LazyLoad,Cache),效果还是很显著的。 

第二:面向对象的查询语言(X-QL)作为一种数据库与对象之间的过渡,虽然隐藏了数据层面的业务抽象,但并不能完全的屏蔽掉数据库层的设计,并且无疑将增加学习成本. 

第三:对于复杂查询,ORM仍然力不从心。虽然可以实现,但是不值的。视图可以解决大部分calculated column,case ,group,having,order by, exists,但是查询条件(a and b and not c and (d or d))。。。。。。 

世上没有驴是不吃草的(又想好又想巧,买个老驴不吃草),任何优势的背后都隐藏着缺点,这是不可避免的。问题在于,我们是否能容忍缺点 


3.2、几种常见的ORM框架的比较 

几种常用框架的比较 

以上就是市面上比较常见的.net ORM框架。其实比较完美的ORM框架应该是满足: 

1.对象与数据库的映射 

2.对象缓存 

3.可视化设计和代码生成工具 

4.支持多数据库 

5.动态查询 

6.延迟加载 

7.非侵入式持久化 

8.性能优良 

9.支持存储过程和事务 

10.多面向对象框架支持 

ORM框架确实很方便,但发现也有其不足之处,比如多表联合查询,对视图和存储过程的处理不理想。整体性能低于面向SQL语句。 

以上几种框架比较常用的应该是NHibernate,微软的EF及MyBatis.NET和FluentData。 

上述几个框架各有优缺点 

如:NHibernate 师出名门,大名鼎鼎的Hibernate厂商出品的专门针对.NET的ORM框架,优点是:功能强大,资料齐全,缺点是配置复杂,学习成本高 

微软的EF自然是在VS开发中首推的,优点是和VS IDE集成很好,缺点是性能较NHiberte低,据说6.0后,性能明显加强,甚至于超过NHibernate,但本人未测,另外,对其他数据库的支持需要安装第三方插件,还有个人感觉也过于宠大,使用起来,不够灵活。MyBatic.NET功能和易用性介于NHibernate与EF之间。 

相比较而言,我们更推荐使用FluentData,一个轻量级开源的.NET ORM数据持久化框架 

 

3.3、什么是FluentData? 

FluentData:一种使用Fluent API的新型轻量级ORM模型 

FluentData 是微型 ORM(micro-ORM)家族的一名新成员,旨在比大型 ORM(full ORM)更加易用。FluentData 于本月推出,它使用 fluent API 并支持 SQL Server、SQL Azure、Oracle 和 MYSQL。 

FluentData 的设计者 Lars-Erik Kindblad 谈到: 

当前市面上的 ORM 框架,如 Entity Framework 和 NHibernate,都过于复杂而且难于学习。此外,由于这些框架自身抽象的查询语言以及从数据库到 .NET 对象的映射太过麻烦,导致它们生成的 SQL 都很低效。 

FluentData 另辟蹊径,它是一个轻量级框架,拥有简单的 fluent API 并且很容易学会。 

与其他微型 ORM(如 Dapper 和 Massive)类似,FluentData 关注性能和易用性。它允许开发人员拥有对 SQL 较多的控制,而不是依赖 ORM 进行自动生成。它不仅可以使用 SQL 来执行查询、增添和更新操作,还可以支持使用存储过程和事务。根据文档描述,FluentData 可以在不改动已有结构的情况下,与任何业务对象一同工作。

以下是 FluentData 的一些其他特性: 

· 多结果集(Multiple Result Set):在一次数据库操作下返回多个数据集; 

· 开发人员可使用强类型对象或动态对象; 

· 可为创建时需要特殊处理的复杂对象自定义实体工厂(Custom Entity Factory); 

· 具有添加其他数据库支持的能力。

 

        Troubleshooting Java Applications
                Classpath Errors
                Class Loaders
                Common Java Errors
        Troubleshooting Servers
                Native Libraries
                Threading Architecture
                Work Managers
                Deadlocks
                Overload Protection
                Deployment Problems
        Troubleshooting JDBC
                Data Source Management
                Diagnostics
                Debug Flags
                Connectivity Problems
                Connection Leaks
                Database Availability
        Troubleshooting JMS
                Management
                MBean Hierarchy
                Message Logging
                Diagnostics
                Debug Flags
                Overload Protection
                Lost Messages
                Duplicate Messages
        Troubleshooting Security
                SSL Internals
                Keystore Management
                Debug Flags
                Common SSL Problems
                Certificate Validation
                Embedded LDAP
                Security Audit
                Common LDAP Problems
        Troubleshooting Node Manager
                Internals
                Security
                Common Issues
        Troubleshooting Clusters
                Plug-in Configuration
                OHS Overview
                Plug-in Connectivity
                Plug-in Diagnostics
                Unicast Communication
                Replication Debug Flags
                Typical Replication Issues
热线:4008699035 手机:15921673576( 微信同号)
备案号:沪ICP备08026168号 .(2014年7月11).....................
友情链接:Cadence培训 ICEPAK培训 EMC培训 电磁兼容培训 sas容培训 罗克韦尔PLC培训 欧姆龙PLC培训 PLC培训 三菱PLC培训 西门子PLC培训 dcs培训 横河dcs培训 艾默生培训 robot CAD培训 eplan培训 dcs培训 电路板设计培训 浙大dcs培训 PCB设计培训 adams培训 fluent培训系列课程 培训机构课程短期培训系列课程培训机构 长期课程列表实践课程高级课程学校培训机构周末班培训 南京 NS3培训 OpenGL培训 FPGA培训 PCIE培训 MTK培训 Cortex训 Arduino培训 单片机培训 EMC培训 信号完整性培训 电源设计培训 电机控制培训 LabVIEW培训 OPENCV培训 集成电路培训 UVM验证培训 VxWorks培训 CST培训 PLC培训 Python培训 ANSYS培训 VB语言培训 HFSS培训 SAS培训 Ansys培训 短期培训系列课程培训机构 长期课程列表实践课程高级课程学校培训机构周末班 曙海 教育 企业 培训课程 系列班 长期课程列表实践课程高级课程学校培训机构周末班 短期培训系列课程培训机构 曙海教育企业培训课程 系列班 软件无线电培训 FPGA电机控制培训 Xilinx培训 Simulink培训 DSP培训班 Ansys培训 LUA培训 单片机培训班 PCB设计课程 PCB培训 电源培训 电路培训 PLC课程 变频器课程 Windows培训