2014-09-01 89 views
2

我是WPF和MVVM的新手,我有幾個問題。WPF MVVM數據模型

我正在看一個「簡單」的項目,在做了大量的閱讀和一些簡單的應用程序後開始。

我想要做的就是能夠顯示數據庫表中的數據。看起來很簡單,我可以根據數據庫中的每個字段使用Model進行此操作。但是,如果數據庫開發人員添加其他字段會發生什麼?我必須根據新的字段重新創建我的模型。

所以我的問題是這樣的。如何從數據庫讀取所有字段並顯示它們。 可以從數據庫而不是固定模型創建動態模型嗎?

是MVVM還是WPF這種類型的應用程序的正確格式?

在此先感謝。

+5

我個人不會這樣做。在表中添加一個字段是一個突破性的改變,你不希望它奇蹟般地出現在你的應用程序沒有模型/視圖/等修改。一個簡單的例子:你將使用什麼標籤作爲新字段的列標題?使用反射的字段名稱?那麼,沒有真實世界的應用程序會這樣做。 – ken2k 2014-09-01 12:26:42

+0

我能想到的唯一場景就是自定義的SQL工具,您可以在其中讓用戶編寫查詢並顯示結果。否則,給出的建議已經很紮實。如果你想這樣做,你也可以使用綁定到數據集的gridview。 – kidshaw 2014-09-01 13:11:16

+0

如果開發人員向數據庫添加新字段並且這些字段與您的屏幕相關,那麼希望程序員將這些字段添加到模型中似乎是很好的做法?無論如何,這就是我們在專業環境中工作的方式。另一種方式呢?如果程序員添加了一個你不想顯示的字段呢?你的方法讓你陷入一種或另一種方式。 – BenjaminPaul 2014-09-01 14:20:46

回答

1

如果你熱衷於使用這種方法,我猜這樣做的「簡單」方法是讀取像這樣的數據:「SELECT * FROM YOURTABLE」,然後將結果填充到數據表中。然後,該數據表可以用作gridview的數據源,該數據源需要將其autogenerateColumns屬性設置爲true。通過這種方式,它將始終顯示所有返回的列,但這通常不是實踐,因爲您無法對列進行模板化 - 但在某些情況下,這足夠好。