.net中如何给数据表实体类赋值的方法.

今天遇到一个问题,就是数据实体类中如何给属性赋值.因为从数据库中取出来的是一个DataSet如果一个一个给数据实体类中的属性赋值显的非常的笨拙,而且我们的数据表多达24.在网上搜索了下写出了个简单的方法,代码如下:

首先我们做个实体类

 

 1       public   class  Class1
 2      {
 3           private   int  inttemp;
 4 
 5           public   int  IntTemp
 6          {
 7               get  {  return  inttemp; }
 8               set  { inttemp  =  value; }
 9          }
10      }
11 

 

那我们怎么找到他并赋值呢?

代码如下:

 

大家可能问这个有什么用?当你按照数据库表的形式简历了一个实体类就可以用这个循环写一个共有的方法专门给不同的实体类的属性赋值,因为pi.SetValue方法的第一个值是object形式的.这样我们就少了很多的麻烦事情.

不知道这个方法对多数据集是否有效率的问题.高手们看了后给我点意见修改下.谢谢了.

 

 1  using  System;
 2  using  System.Collections.Generic;
 3  using  System.Text;
 4  using  System.Reflection;
 5  using  System.Data;
 6 
 7  namespace  ConsoleApplication1
 8  {
 9       class  Program
10      {
11           static   void  Main( string [] args)
12          {
13              Class1 c  =   new  Class1();
14  /* 这里是构造一个DataSet */
15              DataSet ds  =   new  DataSet();
16              DataTable dt  =   new  DataTable();
17              dt.Columns.Add( " IntTemp " ,SqlDbType.Int.GetType());
18              DataRow dr  =  dt.NewRow();
19              dr[ " IntTemp " =   2 ;
20              dt.Rows.Add(dr);
21              ds.Tables.Add(dt);
22 
23  /* 这里是重点 */
24               foreach  (DataRow dr1  in  ds.Tables[ 0 ].Rows)
25              {
26                   foreach  (DataColumn dc  in  dr1.Table.Columns)
27                  {
28                      PropertyInfo pi  =  c.GetType().GetProperty(dc.ColumnName); // 获取根据表的类名创建的实体类属性
29                      pi.SetValue(c, dc.Table.Rows[ 0 ][ 0 ],  null ); // 设置这个属性的值
30                  }
31              }
32              Console.Write(c.IntTemp + " /n " );
33          }
34      }
35 
36  }
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值