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文件。