orm框架vbc#.net实体代码生成工具(entityscodegenerate)使用

orm框架vbc#.net实体代码生成工具(entityscodegenerate)使用

ID:34725223

大小:371.68 KB

页数:28页

时间:2019-03-10

orm框架vbc#.net实体代码生成工具(entityscodegenerate)使用_第1页
orm框架vbc#.net实体代码生成工具(entityscodegenerate)使用_第2页
orm框架vbc#.net实体代码生成工具(entityscodegenerate)使用_第3页
orm框架vbc#.net实体代码生成工具(entityscodegenerate)使用_第4页
orm框架vbc#.net实体代码生成工具(entityscodegenerate)使用_第5页
资源描述:

《orm框架vbc#.net实体代码生成工具(entityscodegenerate)使用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1 引言目前大多数项目或产品都使用关系型数据库实现业务数据的存储,这样在开发过程中,常常有一些业务逻辑需要直接用写SQL语句实现,但这样开发的结果是:遍地布满SQL语句。这些藕合较高的SQL语句给系统的改造和升级带来很多无法预计的障碍。或者说可以使用服务端数据库存储子程序实现,但只是将这种耦合搬迁到后端,问题依然没有根本解决,服务端驻留过多的存储子程序也消耗着服务器的性能并给多人合作维护和更新部署带来许多障碍。为了提高项目的灵活性,特别是快速开发,ORM是一个不错的选择。举个简单的例子:在使用ORM的系统中,当数据库模型改变时

2、,不再需要理会逻辑代码和SQL语句中涉及到该模型的所有改动,只需要将该模型映射的对象稍作改动,甚至不做改动就可以满足要求。ORM的全称是ObjectRelationalMapping,即对象关系映射。它的实质就是将关系数据(库)中的业务数据用对象的形式表示出来,并通过面向对象(Object-Oriented)的方式将这些对象组织起来,实现系统业务逻辑的过程。在ORM过程中最重要的概念是映射(Mapping),通过这种映射可以使业务对象与数据库分离。从面向对象来说,数据库不应该和业务逻辑绑定到一起,ORM则起到这样的分离作用,使

3、数据库层透明,开发人员真正的面向对象。下图简单说明了ORM在多层系统架构中的这个作用。图1  ORM在多层系统架构中的作用 当然ORM并非是万能的,面对纷繁复杂的业务逻辑,当遇到特别复杂的数据处理及海量数据处理和弥补设计的不足时还应归结到SQL或存储过程来实现,但它却很好的体现了“80/20(或90/10)法则”(也被称为“帕累托法则”),也就是说:花比较少(10%-20%)的力气就可以解决大部分(80%-90%)的问题,这样通过利用ORM框架,我们就仅需要付出极少数时间和精力来解决剩下的少部分问题了,这无疑缩短了整个项目开发

4、的周期。因此快速开发、面向对象和性能优化等必须灵活兼顾才好,这些该工具都提供了很好的解决方案,下文分别作一介绍。 2 内容2.1ORM框架的实现:VB/C#.Net实体代码生成工具(EntitysCodeGenerate)好的ORM框架工具不仅可以帮助我们很好的理解对象及对象的关系,而且工具本身会帮助我们维护这些关系,帮助我们记住字段属性业务含义并提供辅助的应用等。基于这个理念,我于多年的项目实践和业余时间设计研发了一个基于.NET的ORM工具——VB/C#.Net实体代码生成工具(EntitysCodeGenerate),该

5、工具运行于dotnetframework2.0框架上,适用性广,开发后的代码部署要求不高,在.Net更高版本上也可以很好的运行。VB/C#.Net实体代码生成工具(EntitysCodeGenerate) 为ORM提供对象持久、简单对象查询、事务处理等功能。数据持久包括一些对象的Insert、Update、Save、Delete、Select等功能,简单对象查询则提供一些基于对象的简单对象查询GetEntity及构造函数获取对象信息和实体集等。该工具是基于VS.NET2005的开发的应用程序,职责是从数据库中提取数据模型信息并

6、生成实体类代码,帮助开发人员快速映射到关系数据库中的业务数据模型,最优化快速开发。目前直接提供从Oracle、SqlServer、Access、MySQL、Sybase、SQLite、DB2、PostgreSQL、DM(达梦)及支持OleDb连接的数据库和Custom(自定义)类型的数据库中生成VB/C#.Net代码的支持,可以生成实体和实体集的相关代码,并自动提取数据库表和字段的注释说明和对应的数据类型等。另外所生成的代码文件只需修改数据库连接,即可用于目前市场上支持ADO.NET的各种类型的数据库,如Oracle、SqlS

7、erver、MySQL、Access、Sybase、SQLite、Excel、DB2、PostgreSQL、Informix、Firebird、MaxDB、DM(达梦)和OleDb、ODBC连接类型的数据库等。所生成代码文件的类关系图如下所示:工具3.x版本之后的实体层代码有个基类(BaseEntity),基类里其实也正是你项目的数据连接的配置位置,该工具实际应用时的配置其实也就在这里,默认为生成代码时所填写的数据库连接信息,并可手工扩展修改(如从config配置文件读取、实现对用户数据库连接信息的加密/解密等;大多数时候我们

8、只需在GetConnectionString()修改数据连接字符串即可):public class BaseEntity{ public static string GetConnectionString() {    return "UserID=scott;Passwor

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。