短版:保持一個IEnumerable和一個ObservableCollection同步
我有兩個類別:一IEnumerable
和ObservableCollection
。我需要一種方法來保持它們的同步。這意味着,如果任何項目被添加,刪除或更新爲一個,那麼該項目以及該項目將自動添加,刪除或更新。如何才能做到這一點?
長版本: 我使用Entity Framework
和WPF
。由於我正在使用MVVM
實施存儲庫模式,因此ViewModel
僅獲得實體的IEnumerable
。我需要他們轉換爲ObservableCollection
而不會丟失由Entity Framework
提供的change tracking
的能力。
我已經在網上尋找解決方案,但徒勞無功。有什麼方法可以正確地做到嗎?
幼稚的問題在這裏:假設,我做這在我的倉庫: '的IEnumerable FindWhere(表達>謂語) {返回context.Set ()。凡(謂語).ToList(); }' 換句話說,我渴望加載。如果我想使用本地,我應該明確加載使用Load()? –
如果我的存儲庫中只有一個方法,則您的編輯可能已經工作。但是,這只是其中的一部分。我應該如何在這裏處理它? ()); public T(FetchByPrimaryKey(object primarykey) { return _ctx.Set().Find(primarykey); } 公共的IEnumerable FindWhere(表達式>謂詞) { 返回_ctx.Set ()。凡(謂詞)。ToList(); } 公共ŤFirstOrDefault(表達式>謂詞) { 返回_ctx.Set ()。凡(謂詞).FirstOrDefault(); }' –