내 응용 프로그램 요구 사항 : 사용자가 텍스트 상자에 데이터를 입력 한 다음 텍스트 상자를 떠나는 것과 같이 속성이 변경된 경우 즉시 데이터베이스로 업데이트해야합니다.엔티티가 서비스 계층에 액세스하고 업데이트/저장 방법을 실행해야합니까?
MVVM 디자인 패턴이있는 WPF를 사용합니다. 모든 엔티티는 INotifyPropertyChanged
을 구현합니다. 고객의 변화의 재산은 내가
Customer.cs
customerService.UpdateCustomer(this);
는 기업이 정말 자신을 업데이트해야 할 경우? 아니면 데이터베이스에 자체 업데이트를 유도합니까?
실체가 아닌 경우 다른 방법으로 즉각적인 업적을 수행 할 수 있습니까?
예 Frederik. 하지만 그들은 내 요구 사항을 고려하지 않습니다. 내 응용 프로그램에서는 사용자가 저장 단추를 눌러 변경 사항을 저장하도록 강요/강요하고 싶지 않습니다. 따라서 Textbox의 모든 LostFocus에서 PropChange가 실행되므로 서비스가 호출됩니다. Btw. 당신은 엔티티 자체를 업데이 트해야한다고 말했다 ... 또 다른 서비스 ... 정확히 내가 쓴. 나는 단지 c.PropertyChanged + = 등등을 쓰지 않았다. 그래서 우리 모두는 같은 결론에 도달했다. I이 한 전 코드에서 – msfanboy
: this.PropertyChanged + = (O, E)를 => { 스위치 (e.PropertyName) { 경우 "숙제"_lpRepo.UpdateHomeWork (PeriodNumber, LessonDayDate 숙제); 단절; case "Content": _lpRepo.UpdateContent (PeriodNumber, LessonDayDate, Content); 단절; } }; 숙제 또는 콘텐츠 속성은 시간이 필요한 긴 RTF 문자열 일 수 있습니다. 따라서 두 개의 추가 업데이트 방법을 기간에 보유 할 수 있습니다 ... – msfanboy
내 시나리오에 상상해보십시오. 각 응용 프로그램에 8 개의 모듈이 있습니다. 특성을 변경하십시오. 이제 사용자가 눌러야하는 저장 버튼이 있습니다 : 이제 어떤 객체가 제거/추가/변경되었는지 알아야합니다. 앱을 닫고 싶을 때 마지막 메시지 상자를 팝업으로 표시 할 때와 동일합니다. "데이터를 변경했습니다. 저장 하시겠습니까?" 마치 말처럼. 그러나 Word에는 다만 문서가있다. 8 가지 "문서"가 훨씬 더 복잡합니다. 그래서 내 요구는 괜찮습니까? ;-) btw. 나는 sqlite를 STApplication과 함께 사용한다. 나는 왕복 여행을 좋아하지 않아. – msfanboy