簡體   English   中英

在C#中使用數據集的更好方法

[英]Better way to use data set in C#

我們已經創建了一個自定義數據集並用一些數據填充它。

在添加數據之前,我們在數據集中添加列,如下所示

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;

有沒有更好和有管理的方式來做到這一點。 我可以使用枚舉或其他任何東西使代碼更容易編寫以減少工作量嗎?

您可以嘗試使用類型化數據集

這應該擺脫["<column_name>"]丑陋。

如果數據集的結構與數據庫中的表類似,那么Visual Studio可以很容易地創建一個:只需在解決方案中的某個位置單擊Add - > New Item ,然后選擇DataSet VS將顯示一個設計器,您可以從服務器資源管理器中拖動表。

更新(在回應Simon的評論之后):類型化數據集實際上是XSD(XML模式定義)。 我在類似案例中所做的是:

  • 創建一個空的DataSet(使用Add - > New Item - > DataSet
  • 使用文本編輯器打開新創建的文件(由dafault,在VS中顯示XSD設計器)
  • 粘貼我手動創建的XSD

您還可以選擇使用設計器來創建架構。

考慮到您的評論“我使用數據集將數據導出到XML文件”我建議使用不同的技術,如

或者更好的是不必是XML(你只想要分層可讀文本考慮JSON而不是http://james.newtonking.com/pages/json-net.aspx

您可以以兩種方式綁定數據集,第一種是使用數據庫,第二種是手動添加。 在為數據集創建列之后,您可以使用Loops添加,如果您有10000個條目,則可以添加它。

你可以使用Reflection 另一種選擇是使用EntityFrameworkNHibernate映射列名和數據結構列,然后避免這些代碼手動填充每個字段。 但它們會增加更多的復雜性。 性能方面,您的代碼也更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM