ORM框架-EntitysCodeGenerate一些使用项的介绍

ORM框架-VB/C#.Net实体代码生成工具(EntitysCodeGenerate)ECG】目前已是4.3版本了,支持.Net1.1及以上版本。在4.3版本中,工具引入了对PowerDesigner文件的支持,目前为止可用于OracleSqlServerMySQLAccessSybaseSQLiteDB2PostgreSQLDM(达梦)PowerDesigner文件、InformixFirebirdMaxDBExcel等和OleDbODBC连接的数据库,同时也可以自定义。

这里介绍下一些使用项方面的东西,比较简单,看下即明白。

 

1、数据库设计的规范化建议

使用工具在设计表时建议:数据库表名及字段名应当遵循通用规范,如都使用大写英文字母,首字符以大写英文字母开头且不含有特殊符号,如''字符;表中不含有嵌套表、表名不与字段名重复等。另外文字命名可约定俗成为单数形式,可以是英文字母及数字和下划线(_)组合,此外可以约定表命名以"T_"开头,表字段以"C_"开头,视图以"V_"开头等,这样做的目的可使数据库设计更规范化,也避免了与关键字的冲突带来一些不必要的麻烦,同时也是因为许多数据库都是英文字母开头的且不能含有特殊字符,如Oracle就是这样,且表名称和字段名都是大写(PostgreSQL建议采用小写命名),长度不超过30个字符(命名过长无意义,有些数据库也不支持),多出的信息可以在命名注释里多写些注释信息。若采用OledbOdbc方式连接,表字段名最好不要这样FIELD1,2,3...以数字顺序结尾,因为这样容易与参数机制冲突,导致一些数据访问时带来一些参数上不必要的麻烦,且这样命名也不是好的规范,必要时可以是FIELDA,B,C...。每个表建议都设置主键,可以是联合主键。若没有主键,则在使用主键判断记录的唯一性时应指定判断字段。

 

2、数据类型映射文件的配置

EntitysCodeGenerate默认提供了各种类型数据库的绝大多数字段类型的映射,但仍然不能做到全面完全的映射,一方面作者时间精力所限,另一方面各数据库厂商也在对其DB持续升级,所以提供了数据类型映射文件(DbTypeToCSharpType.xml)。对于没有配置的数据类型,ECG工具默认以string类型代替,同时记录到日志“相关配置->没有配置的数据类型映射信息.txt”文件里。如果有没有配置的数据类型或自定义的数据类型,可以在配置文件相应配置节追加。但不建议填写带"?"数据类型。

纠正:在4.2及之前的版本,对于Oracle数据库的LONG类型应是字符类型(string)

 

3、数据类型的初始值设置

.NET提供的数据类型,提供了数据类型的初始值文件(DataTypeDefaultValue.xml)ECG工具对基本的数据量都设置了默认值,如果有其它数据类型或不想设置默认值,可以修改该文件。

 

4、配置信息存档

很多时候,业务需求总是再不断的变化,数据库结构需要变动(表结构修改或增加减少表等),这时就需要重新生成实体。虽然ECG工具提供了快速生成实体的方便,但如果每次都要重新输入相同的配置信息,也存在诸多不便,工具的帮助菜单下“帮助->配置信息存档->存档、导入存档”,可以将某次的成功的配置信息保存下来,供下次导入使用。

还有,有些情况,你的表可能会很多,甚至成千上万张,而每次调整也许只是局部调整。这时你可以使用“选择生成”,并且你还可以将选择结构“导出选择、导入选择”,供后续使用。

 

5、缓存(Cache)与性能

一个不可回避的话题,ORM在节省大量重复模式Code的同时,也或多或少带来了性能上损失,然而通过Cache的实现能够对性能调优。

让我们来分析一下性能瓶颈问题,当今的计算机已不再是386/586的那个时代了,CPU的运算速度不用担心的,主要是I/O交互时间。不管你是否采用ORM,在一次完整运行任务中如果需要不停的I/O交互,则不论你怎样Code,性能还是不咋的。所以ORM并不是性能慢的根本原因。在Asp.Net中,System.Web.Caching命名空间提供的Cache就是一个很好的选择,CacheDependency用于缓存依赖。这样在应用程序中如果需要I/O交互也只要首次使用进行I/O操作,以后只要直接重缓存中提取即可,如数据库连接字符串的配置文件等。详细的缓存策略可参见微软MSDN.

还一个就是大数据量问题,当一次查询出很多数据时,无论是不是用ORM,查询都不会快的,因为这时I/O耗时将会很长。对于大数据量表的查询,首先就是使用索引性能优化,还有一个就是分页技术,按需查询,目前为止本人还没有见过哪个用户屏幕一屏显示一千行以上数据的,一屏一百行的也没见过。当然特定的数据库技术处理上还有许多方式,则是DBA的特长。如果数据处理复杂,可以用DbCore+SQL/存储过程,实际中这部分在项目中所占比例不会太多,当然有些时候这部分也可以在项目后期来做。

 

6、三层与多层架构

工具提供示例中的ECG.Demo是常见的三层架构模式,对于多层架构同样适用,SimpleFactory目录下简单显示了多层架构模式中的示例。从这里也可以看到该ORM工具适用各种数据库,可以灵活切换;即使是复杂处理那部分解决起来也同样方便。

另外,这里,实体(Entity)可以方便的与XML相互转化,对于现在企业多系统应用集成也有很大的好处,因为各种原因企业各系统使用不同的数据库,而随着企业的发展,需要用到各系统中的数据,所以就需要在系统之间信息的集成,甚至一些大型企业地域分布较远,考虑安全问题各系统之间很可能不能直接交互,需要用到XML文件内容传输,而这时该工具无疑提供了良好的解决方案。

 

本篇就写到这里,后续再见!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VB/C#.Net实体代码生成工具(EntitysCodeGenerate)【ECG】是一款专门为VB/C#.Net数据库程序员开发量身定做的代码生成工具,所生成的代码基于面向对象、分层架构设计、ORM并参考微软Petshop中的经典思想,融入了工厂设计模式及反射机制等。工具目前直接支持Oracle、SqlServer、Access、MySQL、Sybase、SQLite、DB2、PostgreSQL及支持OleDb连接的数据库,从数据库中生成表对应的VB/C#实体代码,并提取表及字段的注释等信息,亦可对生成的实体数据类型进行各种自定义的设置和方便的数据库操作等。如数据库列和VB/C#代码类型的映射、实体命名空间、代码个性化注释、是否生成对应的数据库操作等,操作简单实用。同时通过实体可实现简单数据库添加、修改、删除、查询等操作,同时对添加和修改提供一个统一的保存操作(即实体会根据主键或实体条件值自动判断是更新还是插入);并提供大量的相关示例代码。同时由于考虑到数据库迁移等,所生成的操作数据库的代码,只需按生成的配置文件说明修改数据库连接,即可用于任何类型的数据库访问操作等,对应文件会自动解析,既一次生成可用于多种类型的数据库的操作,且当数据库表字段发生重大变化时再生成一次即可。 所有数据库的操作都是以默认实体对应表的主键为准,当然也可指定,增加和更新合并为一个保存操作,由实体本身自己判断是增加还是更新,当然你若愿意也可以分开来做,实体也提供了对应的快捷方式等。更多的好处在你用过之后即知。工具同时提供大量的示例代码(如System.Database.Demo等),用VS2005打开每个Demo文件解决方案文件(.sln)即可看到源代码,示例都是以对应数据库自带的示例库为例介绍的。 最新版本也可参见下列地址: http://download.csdn.net/source/3030634 http://www.skycn.com/soft/53715.html http://download.enet.com.cn/html/030212009031901.html http://qun.qq.com/air/#60873348/share
VB/C#.Net实体代码生成工具(EntitysCodeGenerate)【ECG】是一款专门为VB/C#.Net数据库程序开发量身定做的(ORM框架)代码生成工具,所生成的代码基于OO、ADO.NET、分层架构、ORM,改进的抽象工厂设计模式及反射机制等。目前直接支持Oracle、SqlServer、Sybase、DB2、Access、MySQL、SQLite、PostgreSQL、DM(达梦)、OleDb和Custom(自定义)类型的数据库、PowerDesigner文件,同时也支持Informix、Firebird、MaxDB、Odbc等,可用于各种数据库,并支持自定义分页查询(Skip/Take)。从数据库中生成表对应的VB/C#实体代码,并提取表及字段的注释等信息,亦可对生成的实体数据类型进行各种自定义的设置和方便的数据库操作等。如数据库列和VB/C#代码类型的映射、实体命名空间、代码个性化注释、是否生成对应的数据库操作等,操作简单实用。同时通过实体可快速实现数据库表的增删改查等操作,另外,所生成的操作数据库的代码,只需按生成的配置文件说明修改数据库连接,即可用于各种类型数据库的访问操作等,对应文件会自动解析,即一次生成可用于各种类型的数据库的操作;且当表字段发生重大变化时再生成一次即可。所有数据库的操作默认以实体对应表的主键(可以是联合主键)为准,当然也可指定条件。增加和更新合并为一个保存操作,由实体自己判断是增加还是更新,若你愿意也可以分开来做,实体也提供了对应的快捷方式等。更多的好处在你用过之后才会发现。工具同时提供帮助文档和大量的示例源码(如ECG.Demo等),用VS2005打开每个Demo文件解决方案文件(.sln)即可看到源代码,一些示例以对应数据库自带的示例库为例介绍的(如Oracle)。详见安装后文件和工具帮助. 最新版下载地址也可参照: http://www.cnblogs.com/lxchutao/archive/2011/06/01/2065977.html http://www.cnblogs.com/lxchutao/articles/2065711.html http://files.cnblogs.com/lxchutao/EntitysCodeGenerate.rar
VB/C#.Net实体代码生成工具(EntitysCodeGenerate)【ECG】是一款专门为VB/C#.Net数据库程序开发量身定做的(ORM框架)代码生成工具,所生成的代码基于OO、ADO.NET、分层架构、ORM,改进的抽象工厂设计模式及反射机制等。目前直接支持Oracle、SqlServer、Sybase、DB2、Access、MySQL、SQLite、PostgreSQL、DM(达梦)、OleDb和Custom(自定义)类型的数据库、PowerDesigner文件,同时也支持Informix、Firebird、MaxDB、Odbc等,可用于各种数据库,并支持自定义分页查询(Skip/Take)。从数据库中生成表对应的VB/C#实体代码,并提取表及字段的注释等信息,亦可对生成的实体数据类型进行各种自定义的设置和方便的数据库操作等。如数据库列和VB/C#代码类型的映射、实体命名空间、代码个性化注释、是否生成对应的数据库操作等,操作简单实用。同时通过实体可快速实现数据库表的增删改查等操作,另外,所生成的操作数据库的代码,只需按生成的配置文件说明修改数据库连接,即可用于各种类型数据库的访问操作等,对应文件会自动解析,即一次生成可用于各种类型的数据库的操作;且当表字段发生重大变化时再生成一次即可。所有数据库的操作默认以实体对应表的主键(可以是联合主键)为准,当然也可指定条件。增加和更新合并为一个保存操作,由实体自己判断是增加还是更新,若你愿意也可以分开来做,实体也提供了对应的快捷方式等。更多的好处在你用过之后才会发现。工具同时提供帮助文档和大量的示例源码(如ECG.Demo等),用VS2005打开每个Demo文件解决方案文件(.sln)即可看到源代码,一些示例以对应数据库自带的示例库为例介绍的(如Oracle)。详见安装后文件和工具帮助. 最新版下载地址也可参照: http://www.cnblogs.com/lxchutao/archive/2011/06/01/2065977.html http://www.cnblogs.com/lxchutao/articles/2065711.html http://files.cnblogs.com/lxchutao/EntitysCodeGenerate.rar
VB/C#.Net实体代码生成工具EntitysCodeGenerate)【ECG】是一款专门为VB/C#.Net数据库程序开发量身定做的(ORM框架)代码生成工具,所生成的代码基于OO、ADO.NET、分层架构、ORM,改进的抽象工厂设计模式及反射机制等。 目前直接支持Oracle、SqlServer、Sybase、DB2、Access、MySQL、SQLite、PostgreSQL、DM(达梦)、OleDb和Custom(自定义)类型的数据库、PowerDesigner文件,同时也支持Informix、Firebird、MaxDB、Odbc等,可用于各种数据库,并支持自定义分页查询(Skip/Take)。同时也对LINQ的支持并提供轻量级简单日志组件的功能。 从数据库中生成表对应的VB/C#实体代码,并提取表及字段的注释等信息,亦可对生成的实体数据类型进行各种自定义的设置和方便的数据库操作等。如数据库列和VB/C#代码类型的映射、实体命名空间、代码个性化注释、是否生成对应的数据库操作等,操作简单实用。 同时通过实体可快速实现数据库表的增删改查等操作,另外,所生成的操作数据库的代码,只需按生成的配置文件说明修改数据库连接,即可用于各种类型数据库的访问操作等,对应文件会自动解析,即一次生成可用于各种类型的数据库的操作;且当表字段发生重大变化时再生成一次即可。所有数据库的操作默认以实体对应表的主键(可以是联合主键)为准,当然也可指定条件。 增加和更新合并为一个保存操作,由实体自己判断是增加还是更新,若你愿意也可以分开来做,实体也提供了对应的快捷方式等。更多的好处在你用过之后才会发现。工具同时提供帮助文档和大量的示例源码(如ECG.Demo等),用VS2005打开每个Demo文件解决方案文件(。sln)即可看到源代码,一些示例以对应数据库自带的示例库为例介绍的(如Oracle)。详见安装后文件和工具帮助。 下载地址 http://files.cnblogs.com/lxchutao/EntitysCodeGenerate.rar 或 http://www.cnblogs.com/lxchutao/archive/2011/06/01/2065977.html 附ORM技术交流QQ群:60873348
VB/C#.Net实体代码生成工具EntitysCodeGenerate)【ECG】是一款专门为VB/C#.Net数据库程序开发量身定做的(ORM框架)代码生成工具,所生成的代码基于OO、ADO.NET、分层架构、ORM,改进的抽象工厂设计模式及反射机制等。 目前直接支持Oracle、SqlServer、Sybase、DB2、Access、MySQL、SQLite、PostgreSQL、DM(达梦)、OleDb和Custom(自定义)类型的数据库、PowerDesigner文件,同时也支持Informix、Firebird、MaxDB、Odbc等,可用于各种数据库,并支持自定义分页查询(Skip/Take)。同时也对LINQ的支持并提供轻量级简单日志组件的功能。 从数据库中生成表对应的VB/C#实体代码,并提取表及字段的注释等信息,亦可对生成的实体数据类型进行各种自定义的设置和方便的数据库操作等。如数据库列和VB/C#代码类型的映射、实体命名空间、代码个性化注释、是否生成对应的数据库操作等,操作简单实用。 同时通过实体可快速实现数据库表的增删改查等操作,另外,所生成的操作数据库的代码,只需按生成的配置文件说明修改数据库连接,即可用于各种类型数据库的访问操作等,对应文件会自动解析,即一次生成可用于各种类型的数据库的操作;且当表字段发生重大变化时再生成一次即可。所有数据库的操作默认以实体对应表的主键(可以是联合主键)为准,当然也可指定条件。 增加和更新合并为一个保存操作,由实体自己判断是增加还是更新,若你愿意也可以分开来做,实体也提供了对应的快捷方式等。更多的好处在你用过之后才会发现。工具同时提供帮助文档和大量的示例源码(如ECG.Demo等),用VS2005打开每个Demo文件解决方案文件(。sln)即可看到源代码,一些示例以对应数据库自带的示例库为例介绍的(如Oracle)。详见安装后文件和工具帮助。 下载地址 http://files.cnblogs.com/lxchutao/EntitysCodeGenerate.rar 附ORM技术交流QQ群:60873348
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值