2008-11-06 105 views
1

我剛剛開始編寫應用程序。部分需要做的是在營養信息數據庫上運行查詢。我所擁有的是美國農業部的SR21 Datasets,以平分界ASCII文件的形式。.Net數據處理建議

我需要的是建議。我正在尋找將這些數據導入到應用程序中的最佳方式,並且可以在運行時輕鬆快速地進行查詢。我會用它來處理所有標準的事情。動態填充控件,Datagrids,計算等。我還需要執行用戶特定的持久數據存儲。這不會是一個商業應用程序,所以希望能夠開啓可能性。我對.Net Framework 3.5很好,因此在訪問數據時Linq是一種可能性(只是不知道它是否是最好的解決方案)。那麼,在這種情況下對持久存儲有什麼建議?我應該關注什麼樣的陷阱?鏈接到例子總是當然讚賞。

回答

1

它看起來很小,所以我想出一個合適的對象模型,將所有內容加載到內存中,然後使用LINQ to Objects。

我不太清楚你對「持久存儲」的問題 - 你是不是隻是在讀數據?你不是已經在文本文件中有嗎?我不確定你爲什麼要介紹其他的東西。

+0

持久部分將存儲用戶輸入的數據。基本上用戶(我)吃什麼。 :) – EBGreen 2008-11-06 18:01:37

+0

在這種情況下,聽起來像持久性存儲部分是完全獨立於您的問題的其餘部分 - 從平面文件等加載數據您可以使用嵌入式數據庫,或完整的SQL服務器等 – 2008-11-06 19:32:11

0

我會將平面文件導入SQL Server並通過標準ADO.NET功能進行訪問。就數據查詢和操作而言,不僅數據庫訪問總是比文件I/O更好(更強大和更強大),而且還可以利用SQL Server的緩存功能,尤其是因爲此營養數據也不會改變經常。

如果您需要定期下載更新的平面文件,然後研究開發一個服務來輪詢這些文件並自動導入SQL Server。

編輯:我指的是SQL Server,但隨時可以使用任何DBMS。

0

我的誘惑是將數據導入到SQL Server(Express,如果您不想部署應用程序),因爲它對我來說是熟悉的源代碼。或者,您可以使用文本文件處理程序創建ODBC數據源,以獲得類似數據庫的連接。

0

我同意你會從數據庫中受益,尤其是對於快速查詢,尤其是如果你要保存用戶對數據的更改。爲了將平面文件數據加載到SQL Server(包括Express)中,可以使用SSIS。

0

使用Linq或文本數據列表方法

1.創建一個列表。

2.逐行讀取文本文件(或所有行)。

3.處理該行 - 獲取所需數據並附加到列表中。

4.處理該列表以供進一步使用。

持久性存儲將文件和列表是易失性的。