在我的代码中我有一个返回数据集的函数,但我无法更改它,所以我希望:
这有可能吗?
答案 0 :(得分:1)
以下是您的问题的答案
数据集将数据存储在断开连接的缓存中。数据集的结构类似于关系数据库的结构。它公开了表,行和列的分层对象模型。此外,它还包含为数据集定义的约束和关系。 如果要在与数据源断开连接时使用一组表和行,则可以使用数据集。
- DataSet对象是支持断开连接的
的核心- DataSet是数据的内存驻留表示
- DataSet表示一组完整的数据,包括相关表,约束和表之间的关系
- ADO.NET DataSet包含由DataTable对象
表示的零个或多个表的集合
以下是MSDN Link以获取更多信息
希望它会有所帮助
答案 1 :(得分:1)
1)不,在数据集中你只能放表和关系,你不能把另一个数据集放在里面
2)不,Datatable可以包含一些具有特定类型的列,但不是一种好用的方法。
3)你可以使用它:
public static class Extensions
{
public static DataTable ToDataTable<T>(this IList<T> data)
{
PropertyDescriptorCollection propriedades = TypeDescriptor.GetProperties(typeof(T));
DataTable dtTabela = new DataTable();
for (int i = 0; i < propriedades.Count; i++)
{
PropertyDescriptor prop = propriedades[i];
dtTabela.Columns.Add(prop.Name, prop.PropertyType);
}
object[] objValores = new object[propriedades.Count];
foreach (T item in data)
{
for (int i = 0; i < objValores.Length; i++)
{
objValores[i] = propriedades[i].GetValue(item);
}
dtTabela.Rows.Add(objValores);
}
return dtTabela;
}