0

IQueryable の結果から返されたすべてのオブジェクトへの参照をインターセプト/キャッチして、後でこれらのすべてのインスタンスに対して何らかの作業を実行できるようにしたいと考えています。

より具体的には、IQueryable エンドポイントを持つ MongoDB リポジトリ パターンがあります。変更後のすべてのエンティティの保存/更新をサポートしてほしい。

トランザクションをサポートすることを期待せずに、エンティティ フレームワークの DbContext.Commit のようなものに対する貧しい人のサポートを望んでいます。すべてのエンティティの参照を保持できれば、すべてを簡単に更新できるという考えです。

これについてどうすればよいですか?

4

1 に答える 1

0

このモデルを試すことができます。

 public class EntityBase 
{


    #region DB Access

    public static MongoServer GetConnection()
    {
        return MongoDBHelper.GetConnection();
    }

    public static MongoDatabase GetDatabase()
    {
        return MongoDBHelper.GetDatabase();
    }

    public static MongoCollection<T> C<T>() where T : class
    {
        MongoCollection<T> col = GetDatabase().GetCollection<T>(typeof(T).Name);
        return col;
    }

    public static IQueryable<T> IQ<T>() where T : class
    {
        return C<T>().AsQueryable<T>();
    }

    #endregion

}

いくつかのエンティティ

public class SomeEntity : EntityBase 
    {
}

と使用

var s = (from o in SomeEntity.IQ<SomeEntity>() select o)
于 2013-05-10T14:06:30.967 に答える