[英]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模式定義)。 我在類似案例中所做的是:
您還可以選擇使用設計器來創建架構。
考慮到您的評論“我使用數據集將數據導出到XML文件”我建議使用不同的技術,如
或者更好的是不必是XML(你只想要分層可讀文本考慮JSON而不是http://james.newtonking.com/pages/json-net.aspx
您可以以兩種方式綁定數據集,第一種是使用數據庫,第二種是手動添加。 在為數據集創建列之后,您可以使用Loops
添加,如果您有10000個條目,則可以添加它。
你可以使用Reflection
。 另一種選擇是使用EntityFramework
或NHibernate
映射列名和數據結構列,然后避免這些代碼手動填充每個字段。 但它們會增加更多的復雜性。 性能方面,您的代碼也更好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.