3

DbSetにいくつかの機能を追加するためのいくつかの拡張メソッドを開発しています。ただし、「Update」メソッドを作成する場合、エンティティの状態を変更できるようにするには、DbSetのDbContextが必要です。現在の実装:

public void Update<TEntity>(this DbSet<TEntity> repository, TEntity entity) where TEntity : class
    {
        repository.Attach(entity);
        var context = // how get the context from repository?
        ((IObjectContextAdapter)context).ObjectContext.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified);
    }

DbSetインスタンスからDbContextを取得する方法を知っている人はいますか?

4

1 に答える 1

0

私はそれを達成するためのより良い方法を見つけました:

public static void MarkAsModified(this DbContext context, object entity)
    {
        context.Entry(entity).State = EntityState.Modified;
    }
于 2012-11-22T20:07:47.370 に答える