zoukankan
html css js c++ java
IList<T> 转换成 DataSet
通过 NHibernate 查询返回的表数据通常都是
IList<T>
,但在实际使用中有些数据控件在数据绑定上对IList的支持并不是很好,所以有时候将IList转换成DataSet还是有必要的。在
Vinson的Blogs
中提到了怎么
将IList转换成DataSet
,可惜源码是VB.NET的。
下面是我根据
IList转换成DataSet
中的VB.NET源码转换成C#,由于现在做项目是用 VS 2005 ,所以也对其改进,让它支持C#2.0 中的泛型。
代码如下:
using
System;
using
System.Data;
public
class
NHibernateHelper
{
/**/
///
<summary>
///
Ilist
<T>
转换成 DataSet
///
</summary>
///
<param name="list"></param>
///
<returns></returns>
public
static
DataSet ConvertToDataSet
<
T
>
(IList
<
T
>
list)
{
if
(list
==
null
||
list.Count
<=
0
)
{
return
null
;
}
DataSet ds
=
new
DataSet();
DataTable dt
=
new
DataTable(
typeof
(T).Name);
DataColumn column;
DataRow row;
System.Reflection.PropertyInfo[] myPropertyInfo
=
typeof
(T).GetProperties(System.Reflection.BindingFlags.Public
|
System.Reflection.BindingFlags.Instance);
foreach
(T t
in
list)
{
if
(t
==
null
)
{
continue
;
}
row
=
dt.NewRow();
for
(
int
i
=
0
, j
=
myPropertyInfo.Length; i
<
j; i
++
)
{
System.Reflection.PropertyInfo pi
=
myPropertyInfo[i];
string
name
=
pi.Name;
if
(dt.Columns[name]
==
null
)
{
column
=
new
DataColumn(name, pi.PropertyType);
dt.Columns.Add(column);
}
row[name]
=
pi.GetValue(t,
null
);
}
dt.Rows.Add(row);
}
ds.Tables.Add(dt);
return
ds;
}
}
查看全文
相关阅读:
IOS动态类型isKindOfClass, isMemberOfClass
IOS-sqlite3数据库: create table数据库表及对数据库表的增删改查(create/insert/delete)
TCP/UDP区别
IOS中的NSData和NSFileManager例子微解
IOS TableView的Delegate Methods-tableView didSelectRowAtIndexPath
IOS IPA打包和真机测试
使用autolayout的NSLayoutConstraint类中的constraintWithItem 、constraintsWithVisualFormat这两个类方法来创建视图并可以实现自动布局
自定义圆形进度条
通过cagradientLayer类封装uiimageview动画色度差
通过CAGradientLayer类实现色度差动画
原文地址:https://www.cnblogs.com/yyw84/p/463480.html
最新文章
Linux NFS
Linux bind9配置
Linux awk命令简单操作
Python简单操作笔记
Python 用户输入用户名,进行验证
ssh 公钥私钥认证原理
fedora 20 使用集
is-scalas-actors-similar-to-gos-coroutines
apns issue
nodejs thread
热门文章
what exactly is a nodejs event loop tick?
js module manager
reactjs 不错的文章
js ios
select for update
A monad is just a monoid in the category of endofunctors
CPS
IOS 多行多列加载ImageView
iOS 打包上传发布到App Store上(个人账号)
IOS AppDelegate设置Root页面
Copyright © 2011-2022 走看看