2014-07-21 31 views
1

我是新來的,似乎無法找到/谷歌一個簡潔的答案。實體是否可以在視圖中重複顯示UI?

我正在製作一個WPF應用程序並試圖遵循MVVM模式。我使用100多個表建模數據庫。 EntityFramework實體是在我的機器上自動生成的。我正在使用WCF服務來訪問本地模式(該數據庫位於另一臺計算機上)。 My ViewModal通過訪問WCF服務加載/保存數據,EntityFramework與數據庫通信。

在MVVM模式之後,我的Views使用ViewModel作爲它們的數據上下文。

爲了與MVVM模式保持一致,是否必須將模式中的表/實體複製到ViewModel才能綁定到UI? (這將是相當廣泛的100 +表)。

特別是,我希望能夠在將整個表格保存到數據庫之前編輯同一個表格的多個記錄上的一個或多個字段。我不希望在viewmodel中創建每個實體類的副本。

歡迎任何建議。

回答

1

答案在這裏取決於個人的角度。許多人(包括我自己)都不允許ViewModel直接將Model數據公開給View,這意味着您可以直接綁定到View中的實體。爲此,ViewModel可以擁有一個直接包含匹配模型實例的屬性。

+0

我有點困惑...... DataContext是Model或ViewModel,如果它的ViewModel屬性在ViewModel中看起來像在UI中綁定模型中的實體會是什麼樣子? –

+0

@AlanWayne它可以是 - 您可以使用虛擬機,並綁定到「Model.Foo」,或者直接使用模型。如果它是一個集合,從ItemsSource綁定到「Models」效果很好 –

+0

謝謝。看起來,如果我把自己生成的EntityFramework類中的業務邏輯放在部分類中,我可以繞過ViewModel一起?即查看模型? –

相關問題