【发布时间】:2020-09-04 11:49:13
【问题描述】:
我正在为我的存储库创建一个类来继承。我放了一些常用的方法,其中之一,Update。
但是我有这个错误DbSet does not contain a definition for Update
public abstract class AggregateRepository<TEntity> : IAggregateRepository<TEntity> where TEntity : AggregateEntity, new ()
{
protected readonly MyDbContext DbContext;
protected readonly DbSet<TEntity> DbSet;
protected AggregateRepository(MyDbContext dbContext)
{
DbContext = dbContext;
DbSet = dbContext.Set<TEntity>();
}
public virtual async Task Update(TEntity entity)
{
DbSet.Update(entity); //ERROR
}
}
如果没有更新条目,我应该如何更新数据库中的实体?
【问题讨论】:
-
您只需更改其属性的值,最后调用
SubmitChanges()。每个实体都在后台进行跟踪,因此系统将知道它必须在哪一部分数据上调用更新 -
所以,在这个聚合中,我做不到。我说的对吗?
-
或者我必须用这个通用实体调用 Add 吗?
-
“如何更新实体”的问题太宽泛了。这取决于您的工作方式(连接/断开连接)和各种偏好。
-
@MongZhu 我的错。我要更新,而不是插入。
标签: c# .net entity-framework asp.net-core