アプリケーション要件:ユーザーがプロパティを変更した場合(テキストボックスにデータを入力してからテキストボックスを終了する場合など)、データベースに直ちに更新する必要があります。エンティティがサービスレイヤにアクセスし、更新/保存メソッドを実行する必要がありますか?
MVVMデザインパターンのWPFを使用しています。私のすべてのエンティティはINotifyPropertyChanged
を実装しています。 私は
Customer.cs
customerService.UpdateCustomer(this);
を行う顧客の変更のいずれかのプロパティには、エンティティが本当に自分自身を更新する必要がありますか?または、独自のデータベースへの更新を誘導しますか?
私は、エンティティ内にない場合、私はすぐにプロパティの即興を行うことができますか?
はい私はあなたの懸念をFrederikで知っています。しかし、彼らは私の要件を考慮しません。私のアプリケーションでは、ユーザーに保存ボタンを押して変更を保存させるように促したり強制したりする必要はありません。したがって、テキストボックスのすべてのLostFocusで、PropChangeが起動され、サービスが呼び出されます。 Btw。あなたはエンティティが自分自身を更新するべきではないと言った...別のサービス...それはまさに私が書いたものである。私はちょうどc.PropertyChanged + =などを書かなかったので、我々は同じ結論に達した。 this.PropertyChanged + =(O、E)=> { スイッチ(e.PropertyName) {場合、 "宿題":私はこれをしなかった元のコードで – msfanboy
_lpRepo.UpdateHomeWork(PeriodNumber、LessonDayDate、宿題)。ブレーク; case "Content":_lpRepo.UpdateContent(PeriodNumber、LessonDayDate、Content);ブレーク; } };宿題やコンテンツのプロパティは時間が必要な長いRTF-Stringになる可能性があるので、期間中に2つの追加の更新メソッドがあります。 – msfanboy
私のアプリには8個のモジュールがあります。プロパティを変更します。今、保存ボタンがあります。これで、どのオブジェクトが削除/追加/変更されたのかを知る必要があります。私は最後のメッセージボックスをポップアップすることができます: "あなたはデータを変更しましたか、保存しますか?"ちょうど言葉のように。しかし、Wordには単なる文書しかありません。私はもっと複雑な8つの "文書"を持っています。だから私のrequriementは大丈夫ですか? ;-) btw。私はSTApplicationでsqliteを使用します。私は往復を気にしません。 – msfanboy