Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从DbSet获取DbContext_C#_Entity Framework_Ef Code First_Dbcontext_Dbset - Fatal编程技术网

C# 从DbSet获取DbContext

C# 从DbSet获取DbContext,c#,entity-framework,ef-code-first,dbcontext,dbset,C#,Entity Framework,Ef Code First,Dbcontext,Dbset,我正在开发一些扩展方法来为DbSet添加一些函数。但是,在创建“Update”方法时,我需要DbSet的DbContext能够修改实体的状态。目前的执行情况: public void Update<TEntity>(this DbSet<TEntity> repository, TEntity entity) where TEntity : class { repository.Attach(entity); var context

我正在开发一些扩展方法来为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);
    }
公共作废更新(此数据库集存储库,TEntity实体),其中TEntity:class
{
存储库。附加(实体);
var context=//如何从存储库获取上下文?
((IObjectContextAdapter)context.ObjectContext.ObjectStateManager.ChangeObjectState(实体,EntityState.Modified);
}

有人知道如何从DbSet实例获取DbContext吗?

我找到了一种更好的方法:

public static void MarkAsModified(this DbContext context, object entity)
    {
        context.Entry(entity).State = EntityState.Modified;
    }
可能重复的