대량 데이터 (백만 행)를 선택하고 DB 테이블을 업데이트해야한다는 요구 사항이 있습니다. 지금, 나는 내가 BindingSource
구성 요소를 통해 GUI에 수밖에 INotifyPropertyChanged
모든 공용 속성을 구현하는 ViewModel
클래스가 (사용이 MSDN에 규정 된 같은) BackgroundWorker
의 덩어리로 데이터 청크Backgroundworker - 데이터 바인딩 - 업데이트보기
을 읽고있다 - 고전을 WinForms 방식 :
문제는 모든 논리가 하나의 ViewModel
클래스에 있다는 것입니다. 논리를 훨씬 더 나은 방법으로 어떻게 분리합니까? 데이터 가져 오기 및 업데이트 논리는 DoWork()
메서드에서 루프에 있으며 ReportProgress
메서드를 통해 BackgroundWorker
의 UI 신호를 보냅니다.
EDIT - GUI 이외의 진행 상황 이외의 다른 데이터를 표시 할 필요가 없습니다. 그것의 다만 1 시간 공구. 제안?
편집 - 솔루션 - http://www.codeproject.com/KB/architecture/MVPVMWindowsForms.aspx
솔루션 나는 윈폼으로 만 일하고 –
내 질문에 업데이트되었습니다. –