gpt4 book ai didi

c# - 从 DbSet 获取 DbContext

转载 作者:行者123 更新时间:2023-11-30 18:36:44 24 4
gpt4 key购买 nike

我正在开发一些扩展方法来为 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 吗?

最佳答案

我找到了一种更好的方法来实现这一点:

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

关于c# - 从 DbSet 获取 DbContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13519241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com