我已經開始在一個項目中使用EF和LINQ,並試圖決定使用最佳方法/模式。到目前爲止,我一直在使用基於DataSets和XML配置的自定義持久性框架。基本上它是一個VS自定義工具,它將讀取XML配置文件和數據集,並將生成具有所有必要屬性/關聯/方法的面向對象類。這個自動生成的類然後在UI中使用,並且我可以靈活地只公開UI需要的東西。實體框架,LINQ和模式
現在使用EF和LINQ,我不熟悉UI可以直接使用自動生成的類和所有LINQ的東西。看來這種方法在UI和數據庫之間會有非常緊密的整合。
所以我正在尋找一些能夠「隱藏」所有EF和LINQ的好東西,基本上限制了UI可以做什麼的模式。有沒有標準的方法來做到這一點?
MVVM與您的UI分離數據層無關。這是一種類似於MVC的UI模式,但用ViewModel取代了Controller。更重要的是觀察數據更改並將這些更改複製到其他觀察者。你通常只會在Silverlight或WPF(有時是javascript)中使用MVVM ..它在這個問題的上下文中沒有意義。 –
至少我對它的理解,MVVM與分離你的UI和你的模型(無論你的模型是直接來自數據庫,在這種情況下,還是來自服務調用或XML文檔等)有關。您的UI不知道ViewModel背後的實際模型。 ViewModel是你的UI必須關心的唯一事情。我認爲這將是他在這種情況下遵循的適當模式。 – Thebigcheeze
這是不正確的。 ViewModel仍然是UI的一部分。它只是把責任分成它自己的組件。該模型對UI非常瞭解(它必須是,否則UI將無法訪問它)。您可以將MVVM中的ViewModel視爲您的數據模型的「緩存」,實際的數據訪問應該在不同的層或層中完成。 –