2014-09-22 164 views
0

我想在c#中創建一個應用程序,在那裏我可以保留所有筆記和私人howto的。 的GUI看起來是這樣的:存儲數據的最佳實踐

--------------------------------- 
| Filter |  ListView  | 
------------     | 
| TreeView |     | 
|   |     | 
|   |     | 
|   |     | 
--------------------------------- 

我想在ListView待觀察所有的筆記和我在濾波器類型我想ListView中刪除這些筆記,我不感興趣, TreeView控件將顯示所有。 「標籤」,我已添加到我的筆記,並通過選擇一個或多個它也將過濾出我感興趣的筆記。

所以我得到這個類的變量tag,這是一個字符串的所有關鍵字我輸入了這個筆記,和note,這是一個帶筆記本身的字符串。

那麼,如何做到這一點的最佳方式? 我應該做一個SQL我是否保留所有的筆記,並每次我想更新ListView做一個查詢? 或者我應該在應用程序啓動時關閉並將其讀取到內存時執行某種序列化? 這樣做的最佳方式是什麼?即使我得到大量筆記,我也希望它能夠很好地運行!

回答

1

你在這裏有很多選擇,每個人都有自己的長處和短處。

1.平面文件

你當然可以將此信息寫入標準的平面文件和應用程序啓動時它們讀入內存,這是簡單的讀寫然而,你將需要加載它們都進入內存,以便對數據進行排序和查詢。如果你有很多筆記,這並不好。

2.實體框架

實體框架將是這個我個人的偏好,你從數據庫中需要它,它也將做出特色你所提到的像樹視圖可以查詢數據很容易實現。對於這種情況,我可能會使用Code First創建本地數據庫(SQLCE),因爲這意味着您不需要爲您的應用程序提供完整的SQL Server實例。

實體框架的另一個很好的功能是,如果它不存在,它將自動爲您創建數據庫,並允許您簡單地使用代表數據庫中記錄的C#poco類。

3 NoSQL數據庫

這可能是你的另一種選擇,也有很多NOSQL數據庫在那裏它很可能會滿足您的需求,我必須承認我有很少或沒有經驗但是他們他們肯定會勝任這項工作。我會允許有更多經驗的人指導你。