2011-02-08 5 views
1

내 응용 프로그램에서는 BackgroundWorker (하우스 키핑 작업)가 데이터베이스에서 삭제할 데이터를 확인합니다. 데이터가 삭제 된 후 ViewModel 또는 Model에서 해당 DataItem을 제거합니까?M-V-VM 및 BackgroundWorker

(예, 저는 MVVM을 처음 접했고 아마도 아직 너무 잘 이해하지 못했습니다).

감사합니다.

답변

0

그것은 당신의 모델과 뷰 모델을 구현하는 방법에 따라 다르지만, 개념적, 내가

  • 모델, 차례로해야
    • 원인 데이터까지 데이터를 제거 할 거라고 데이터베이스에서 제거되고
    • 으로 인해 뷰 모델이 통지되어 해당 상태를 적절히 업데이트 할 수 있습니다.
+0

괜찮습니까? 그렇다면 내 ViewModels에서 모델 변경 사항을 수신 대기해야합니까? – empo

+0

정확합니다. 저는 이것이 항상 옵션이 아니라는 것을 알고 있습니다. 그래서 솔루션은 모델 구현 방법에 달려 있다고 썼습니다. 또 다른 옵션은 뷰 모델이 모델을 정기적으로 다시로드하게하는 것입니다. 어쨌든 동일한 데이터베이스에 액세스하는 여러 응용 프로그램 인스턴스 (다른 PC)가있는 경우 필요할 수 있습니다. – Heinzi

1

난 당신이 달성하기 위해 노력하고 정확히 모르겠지만, 나는 그것이 DoWork 방법의 일환으로 뷰 모델을 수정하는 백그라운드 작업자에 대한주의 것입니다. ViewModel 수정은 UI 변경을 제안합니다. DoWork 메소드가 UI 스레드에서 실행되지 않기 때문에 작동하지 않을 가능성이 있습니다.