0

アクションが発生したときにデータベースの特定の部分を更新するために、アプリケーション全体に適用されるいくつかの一般的な機能があります (監査証跡、変更日など)。例として、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.
}

それらはモデルに属するべきだと思いますが、それを実装する方法がよくわかりません。これらのいくつかは、コントローラーを持たない可能性のある特定のモデルクラスにのみ関連するため、コントローラーに配置することは最良のオプションではありません。

それらがモデルにあるという私の問題は、エンティティを更新する最良の方法は何ですか?

4

1 に答える 1

0

これが他の人たちのやり方かどうかはわかりませんが、私は実際に 2 つのモデルを持っています。これらの種類の機能と検証を含むビジネス モデルがあります。アカウント残高のようなものは、ゼロまたはそのようなものよりも小さくすることはできません。すべてが完了すると、モデルは、必要に応じてデータベース レベルの検証とデータベース操作を担当するデータベース モデルに変換されます。

于 2012-10-29T00:15:46.557 に答える