0

当社の製品は、複数のクライアント/パートナー システムと連携する必要があります。たとえば、人が追加/更新された場合、たとえば Web サービスを呼び出したり、フォルダーに xml ファイルを作成したりして、サードパーティ システムに変更を通知する必要があります。

SaveChanges がデータベース内の変更を正常に永続化した、「フック」が必要です。

変更を保存するとき (変更がデータベースに永続化される前) にビジネス ロジックを実行する方法については多くの情報が見つかりますが、変更が永続化された後にロジックを実行する方法についてはあまりありません。

調べた結果、以下を使用すると思います。

// Persist data
cxt.SaveChanges(false);
// TODO: execute business logic that can get data changes
// Discard changes and set entities as unmodified
ctx.AcceptAllChanges();

このシナリオのより良い解決策はありますか?

4

2 に答える 2

0

savechanges をオーバーライドして、データをデータベースに保存すると同時にサードパーティ システムの更新を行うことができます。

参照: http://thedatafarm.com/blog/data-access/objectcontext-savechanges-is-now-virtual-overridable-in-ef4/

于 2010-11-19T11:10:17.347 に答える