アクションが発生したときにデータベースの特定の部分を更新するために、アプリケーション全体に適用されるいくつかの一般的な機能があります (監査証跡、変更日など)。例として、AuditTrail を使用します。
これらの関数をどこに保存する必要がありますか?
現在、それらを dbcontext クラスに格納しています
//... my db context class ...
public bool AddAuditEntry(int ID, string objectName)
{
// Here I create a new AuditTrail object, assign values then insert into db.
// This mode doesn't have a controller.
}
// We also have a table that keeps track of modified state for
// client side caching (nothing I have control over)
public bool ModifyObject(int ID)
{
// Here I mark the object id with modified date then save to db
// This particular model doesn't have a controller either.
}
それらはモデルに属するべきだと思いますが、それを実装する方法がよくわかりません。これらのいくつかは、コントローラーを持たない可能性のある特定のモデルクラスにのみ関連するため、コントローラーに配置することは最良のオプションではありません。
それらがモデルにあるという私の問題は、エンティティを更新する最良の方法は何ですか?