C# 在C中使用数据集的更好方法

C# 在C中使用数据集的更好方法,c#,.net,dataset,C#,.net,Dataset,我们已经创建了一个自定义数据集,并用一些数据填充它 在添加数据之前,我们在数据集中添加列,如下所示 DataSet archiveDataset = new DataSet("Archive"); DataTable dsTable = archiveDataset.Tables.Add("Data"); dsTable.Columns.Add("Id", typeof(int)); dsTable.Columns.Add("Name", typeof(string)); dsTable.Col

我们已经创建了一个自定义数据集,并用一些数据填充它

在添加数据之前,我们在数据集中添加列,如下所示

DataSet archiveDataset = new DataSet("Archive");
DataTable dsTable = archiveDataset.Tables.Add("Data");
dsTable.Columns.Add("Id", typeof(int));
dsTable.Columns.Add("Name", typeof(string));
dsTable.Columns.Add("LastOperationBy", typeof(int));
dsTable.Columns.Add("Time", typeof(DateTime))
 DataRow dataRow = dsTable.NewRow();
 dataRow["Id"] = source.Id;
 dataRow["Name"] = source.Name;
 dataRow["LastOperationBy"] = source.LastOperationBy;
 dataRow["Time"] = source.LaunchTime;
创建数据集后,我们将按如下方式填充值

DataSet archiveDataset = new DataSet("Archive");
DataTable dsTable = archiveDataset.Tables.Add("Data");
dsTable.Columns.Add("Id", typeof(int));
dsTable.Columns.Add("Name", typeof(string));
dsTable.Columns.Add("LastOperationBy", typeof(int));
dsTable.Columns.Add("Time", typeof(DateTime))
 DataRow dataRow = dsTable.NewRow();
 dataRow["Id"] = source.Id;
 dataRow["Name"] = source.Name;
 dataRow["LastOperationBy"] = source.LastOperationBy;
 dataRow["Time"] = source.LaunchTime;
有没有更好的管理方法。我是否可以使用enum或其他方法使代码更易于编写以减少工作量?

您可以尝试使用

这应该可以消除丑陋

如果数据集的结构类似于数据库中的表,那么VisualStudio使创建一个数据集变得非常简单:只需在解决方案中的某个位置单击Add->New Item并选择dataset。VS将显示一个设计器,您可以在其中从服务器资源管理器中拖动表

回应Simon的评论后更新: 类型化数据集实际上是XSD XML模式定义。 我在类似案例中所做的是:

使用添加->新建项->数据集创建空数据集 由dafault使用文本编辑器打开新创建的文件,在VS中显示XSD设计器 粘贴我手动创建的XSD 您还可以选择使用设计器来创建架构。

您可以尝试使用

这应该可以消除丑陋

如果数据集的结构类似于数据库中的表,那么VisualStudio使创建一个数据集变得非常简单:只需在解决方案中的某个位置单击Add->New Item并选择dataset。VS将显示一个设计器,您可以在其中从服务器资源管理器中拖动表

回应Simon的评论后更新: 类型化数据集实际上是XSD XML模式定义。 我在类似案例中所做的是:

使用添加->新建项->数据集创建空数据集 由dafault使用文本编辑器打开新创建的文件,在VS中显示XSD设计器 粘贴我手动创建的XSD
您还可以选择使用设计器创建模式。

您可以通过两种方式绑定数据集:第一种是使用数据库,第二种是手动添加。
为数据集创建列后,您可以使用循环添加数据集。如果有10000个条目,您可以添加它。

您可以通过两种方式绑定数据集:第一种是使用数据库,第二种是手动添加。
为数据集创建列后,可以使用循环添加。如果有10000个条目,可以添加循环。

可以使用反射。另一种选择是使用EntityFramework或NHibernate映射列名和数据结构列,然后避免使用这些代码手动填充每个字段。但它们将增加更多的复杂性。此外,代码的性能也更好。

您可以使用反射。另一种选择是使用EntityFramework或NHibernate映射列名和数据结构列,然后避免使用这些代码手动填充每个字段。但它们将增加更多的复杂性。此外,代码的性能也更好。

考虑到您的评论,我使用Dataset将数据导出到XML文件,我建议使用其他技术,例如

Linq到XML或 Xml序列化
<>或更好的是,不必是XML,而只需要层次可读的文本,考虑JSON而不是

< P>考虑到您的评论,我使用DataSet将数据导出到XML文件,我建议使用不同的技术,如

Linq到XML或 Xml序列化
<>或更好的是,不必是XML,而只需要层次可读的文本,考虑JSON而不是

使用数据集来做什么?@西蒙-我正在使用DataSet将数据导出到XML文件。您使用DataSet为什么?@西蒙-我正在使用DataSet将数据导出到XML文件。