2007年11月23日

如何获取类或属性的自定义特性(Attribute)

摘要: 问题说明: 在ActiveRecord或者其他的ORM等代码中, 我们经常可以看到自定义特性(Attribute)的存在(如下面的代码所示) [PrimaryKey(PrimaryKeyType.Native, "PostId")] public int Id { ...... } 看似非常神秘的东西, 我们在什么场合需要使用它, 我们该如何使用它? 自定义特性(Attribute)在一些需要声明特定信息的时候非常有用, 如标识实体类属于那个表, 那个字段是否为主键,主键的数据库字段名是什么这些信息的时候就会派上用场, 使用的时候也是非常的简单. 阅读全文

posted @ 2007-11-23 09:18 伍华聪 阅读(7721) 评论(5) 推荐(0) 编辑

记录转化为有层次结构的树状列表的通用算法

摘要: 问题说明: 在获取数据库记录数据的时候, 通常返回的ArrayList集合, 没有了层次关系. 如果每次根据PID重新到数据库获取记录, 可以做到, 但有以下几个缺点: 1. 访问数据库记录次数随着记录的增多而增多 2. 由于需要多次访问数据库, 因此访问速度受影响 3. 需要数据库访问层的支持, 并对记录进行转化, 耦合性太强 4. 通用性不好, 每次需要一个新的类型列表, 就需要重新编写 解决方法: 我根据原有的树状结构算法代码, 编写一个通用的算法, 利用反射原理, 递归的对数据进行筛选. 这样只需要访问数据库一次, 然后就在内存中遍历, 而且适合于所有具有(PID, ID, Name)属性的实体类集合的排序. 阅读全文

posted @ 2007-11-23 09:15 伍华聪 阅读(3153) 评论(6) 推荐(0) 编辑

导航