2013-07-02 39 views
-1

我正在一個簡單的C#窗口應用程序,我有一些標準的報告和它們的參數,以及應用程序中保持不變的配置設置。所以,我正在考慮哪種更好的方法來存儲這些值。 ID,姓名更好的方法來存儲配置設置 - 內存或數據庫

ReportParameters:

如果是數據庫設計我可以在下面的表

報告設想通過 ID,姓名,ReportId

配置:身份證,名稱,數值,環境

報告包含5條記錄,每個報告包含最多3個參數,配置包含每個環境的5條記錄。

對於這種情況,建議存儲在數據庫還是內存中的變量。

編輯

Windows應用程序將每季度使用,所以IMO數據庫+緩存似乎並不好主意。

+0

您正在混合使用和序列化。你只能在內存中使用變量。這與您是否序列化爲數據庫或XML配置無關。 – Paparazzi

+0

是的,你說得對。可維護性的中斷,我們可以考慮將內存中的靜態變量作爲一個選項嗎? – Sunny

+0

-1從磁盤中讀取is後,只有內存中存在一個靜態變量,那麼「存儲在數據庫或內存中的變量」如何。 – Paparazzi

回答

1

我可能會通過appSettings做些什麼,然後因爲你沒有存儲太多。您也可以創建一個自定義對象,將其序列化,然後在需要時將其反序列化。有很多不同的選擇,但這可能是我第一次考慮你的情況。

+0

感謝您的回覆。我已經提供了更多的使用情況。它每季度運行一次,因此讓它們在緩存中沒有任何區別。 – Sunny

+0

那麼這不是asp.net呢。我認爲這是來自標籤。我可能會通過appSettings做些什麼,然後因爲你沒有存儲太多。您也可以創建一個自定義對象,將其序列化,然後在需要時將其反序列化。有很多不同的選擇,但這可能是我第一次考慮你的情況。 –

+0

如果我在自定義靜態變量中初始化它們,我試圖理解爲什麼要序列化和反序列化。 – Sunny

2

如果它在內存中,則每次關閉程序時,所有配置都將丟失。基於:

報告包含5條記錄,每個報告包含最多3個參數 並且配置包含每個環境的5條記錄。

它似乎是極少數的設置。我會序列化一些對象到一個XML文件。

1

除非您已經在使用數據庫,否則我只是計劃對這些設置進行序列化。如果您正在使用數據庫,這可能是有意義的,特別是如果設置經常更改。這可以輕鬆地戳數據庫並更改設置。同樣如果你用XML序列化。

將它們保留在源代碼中應該是最後的手段,因爲任何報表設置都可能會更改或添加。您不必重新編譯代碼以添加新報告。

相關問題