打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
.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 }今天遇到一个问题,就是数据实体类中如何给属性赋值.因为从数据库中取出来的是一个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 }
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Entity Framework4.0 (二)概述(EF4 的Model First 方法)
Hibernate映射文件(Xxx.hbm.xml)
将Excel数据保存至Sqlserver
Datatable array list<T> 之间的相互转换
微信小程序
强类型DataSet与普通弱类型DataSet
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服