我正在开发一些扩展方法来为 DbSet 添加一些功能。但是,在创建“更新”方法时,我需要 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 ?