我使用 blazor 服务器端并将我的 DbContext 注册为瞬态,我也将数据访问类注册为瞬态,但如果参数未更改,EF Core 始终返回缓存数据,除非在查询之前有更新,否则它会返回新数据。
每次调用每个数据访问方法而不是依赖注入时,我都尝试创建一个 DbContext 实例,但它也返回缓存的数据。
services.AddDbContext<StoreContext>(options =>
options.UseSqlServer(
Configuration["Data:StoreProducts:ConnectionString"]), ServiceLifetime.Transient);
services.AddTransient<DataAccess.Dal>();
这是达尔:
public UserLock GetByUserName(string userName)
{
return context.UserLocks.FirstOrDefault(l => l.User.ToLower() == userName.ToLower());
}
或者:
public UserLock GetByUserName(string userName)
{
using (var db = new StoreContext())
{
return context.UserLocks.FirstOrDefault(l => l.User.ToLower() == userName.ToLower());
}
}
如何解决这个问题呢?