代码改变世界

一次性为自定义实体类的数据填充

2007-06-30 14:12  w i n s o n  阅读(766)  评论(2编辑  收藏  举报
最近在研究自定义实体如何才能更好地使用起来,因为看了MSDN的一篇掌握ASP.NET 之路:自定义实体类简介后,感觉这样使用确实可以很大程度提高效率,但如果使用实体类,又有一个比较麻烦的问题,就是在填充数据时,必须每个实体属性去为其填充,如果可以直接像数组一样操作实体里的属性,然后循环为其赋值,那就方便多了,呵呵

于是我想到了使用索引器,这不正好可以做为一个虚拟的数组来用吗?呵

我的思路就是为实体类里增加一个索引器,按顺序为每个属性设置值,如下:

 1set
 2            {
 3                设置字段值
23            }

然后上层做一个for循环,使用DataReader读取数据库字段的索引,每次通过索引器判断,这样就可以为相应的属性去赋值了,呵呵,但一个前提就是实体类的顺序必须和数据库表里的字段顺序一样哦,如下

1 for (int i = 0; i < dr.FieldCount; i++)
2                {
3                    if (dr[i] != DBNull.Value)
4                        EmployeesDS[i] = dr[i].ToString();
5                }


虽然我以下方法是可以解决实体一次性赋值的问题,但另一个问题时在写实体类时会加大了工作量,如果大家有更好的方法,也欢迎提供:)