1

ASP.NET 動的データとエンティティ フレームワークを使用して、CRUD アプリケーションでエンティティの挿入/更新メソッドをカスタマイズする必要があります。http://extremedev.blogspot.com.es/2011/03/custom-insertupdate-on-linqtosql-and.htmlで、Linq To SQL を使用するアプリケーションのソリューションを見つけました。カスタマイズは、いくつかのビジネス ロジックを追加するためのものです。

EFなどでオーバーロードする方法が見つかりませんでした。何か提案はありますか? テンプレートページのフォームでトリガーを使用したり、メソッド ItemInserted または ItemUpdated を変更したりせずに可能ですか?

どうも

4

2 に答える 2

2

上記で参照した方法は良いですが、私が見た別の方法は次のとおりです。

データ コンテキストの SubmitChanges メソッドをオーバーライドし、一連の変更をチェックして、各オブジェクトと各変更タイプ (挿入、更新、削除) をトラップできます。

public override void SubmitChanges(System.Data.Linq.ConflictMode failureMode)
{
    ChangeSet changeset = GetChangeSet();

    foreach (var f in changeset.Inserts.OfType<Foo>())
    {
        DoSomethingSpecial(f);
    }


    private void DoSomethingSpecial(Foo instance)
    {
    ... // do something with another datacontext instance
    }
}
于 2012-04-16T16:45:48.893 に答える