vb.net groupby分组问题?

预期读者: 软件开发及相关人员

好的ORM工具不仅可以帮助我们很好的理解对象,而且工具本身会帮助我们记住字段属性的业务含义并提供辅助应用。基于这个理念,一个基于.Net的ORM工具——VB/C#.Net实体代码生成工具(EntitysCodeGenerate)便应运而生,该工具运行于.更高版本上也可以很好的运行。

该工具为ORM提供了对象持久化查询和事务处理等功能,包括对象的Insert、Update、Delete、Save、Select等,对象查询提供如GetEntity及构造函数获取对象和实体集信息等。工具职责是从数据库中提取数据模型信息并生成实体类,帮助开发人员快速映射到关系数据库中的业务数据模型,最优化快速开发。目前提供直接从Oracle、SqlServer、Sybase、DB2、Access、MySQL、SQLite、PostgreSQL、DM(达梦)及OleDb、Custom(自定义)类型的数据库和PowerDesigner文件中生成VB/C#.Net代码的支持,可以生成实体和实体集的相关代码,并自动提取表及字段的注释说明和对应的数据类型等信息。

另外所生成的代码文件只需修改数据库连接,即可用于目前市场上支持默认值。若修改过程中想恢复默认的配置,只须点击右端“生成”按钮即可(注意不同语言的类型定义可能有所差异,注意区分。如:C#的byte[],在VB中的定义为byte())。准备工作做好后,单击“生成代码”按钮即可(若不想全部生成,单击“选择生成”按钮)。生成成功之后按生成配置说明文档的提示,将实体代码文件和基类文件拷贝到指定目录,并按生成代码文件所在“相关配置”目录下的配置说明文档,添加对应dll文件的引用即可。操作简单这里就不在此赘述,下面以C#.Net为例介绍实体对象的数据库操作的工作,因篇幅所限,支持的各种类型的数据库,可执行自定义编写的SQL语句和存储过程等,可针对复杂功能的特殊处理并对项目瓶颈问题作性能优化等操作。

Framework之后,创建的新项目中会自动包含实体代码生成工具(EntitysCodeGenerate)对各种数据库访问的统一操作的简单介绍,详细可见示例代码及工具帮助文档;工具安装后附带大量的示例代码,里面有更多的示例和chm格式的帮助文档。另外,使用该工具,当项目需要切换数据库或使用不同的数据库时,只须适当修改数据库连接类型及连接字符串即可。

在设计表时建议:数据库表名及字段名应当遵循通用规范,如都使用大写英文字母,首字符以大写英文字母开头且不含有特殊符号,如'┋'字符;表中不含有嵌套表、表名不与字段名重复(对老系统如果表名与字段名相同,则可通过建立视图或同义词再修改实体类名也可,但一般不推荐这样使用)等。另外文字命名可约定俗成为单数形式,可以是英文字母及数字和下划线(_)组合,此外建议表命名以"T_"开头,表字段以"C_"开头,视图以"V_"开头等,这样做的目的可使数据库设计更规范化,也避免了与关键字的冲突,同时也是因为许多数据库都是英文字母开头的且不能含有特殊字符,如Oracle就是这样,且表名称和字段名都是大写(对PostgreSQL建议采用小写命名),长度不超过30个字符(命名过长无意义,有些数据库也不支持),多出的信息可以在命名注释里多写些注释信息。若采用Oledb、Odbc方式连接,表字段名最好不要这样FIELD1,2,1.1及以上版本,并结合多年具体项目的需求,可以像抽屉一样单独或分开使用,也可和其它组件并行使用,如可以与其它组件或平台的集成,动态得从相关平台或组件中读取数据库参数而不必写死在文件里,这样若要实现对用户数据库连接信息加密/解密也可以很好的处理。

理论的实现总是从简单到复杂,覆盖所有可能,实际应用则需要结合实际从复杂到简单,凡是要灵活变通使用,化复杂为简单,将复杂的东西以简单的方式处理。

软件开发都希望从大量重复的代码中解放出来,缩短工期并提高项目质量,同时当需要的时候可以准确的将绝大多数后台代码快速完成,并要便于后期维护,这些就需要适当借助一些工具和方法为开发、维护和交流提供良好的保障,显然该工具提供了最佳选择。

尽管我们注入大量心血,但不足之处在所难免,有待进一步完善,敬请来信交流()、批评斧正!

}

取parent应该套两层循环。

当你分组时,一般只返回进行分组的那一列,像你这样的话,你可以分组后取parent里面的最小的id或最大的id的那一行数据。楼主要明白为什么要分组,分组的目的是什么。一般是取最大值,最小值,平均值,总值等等才进行分组的。

}

我要回帖

更多关于 分组函数groupby 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信