我决定添加模型来处理数据库。
就是这样的,而且有效
public sealed class DatabaseContext : DbContext
{
public DbSet<Payment> Payments { get; set; } = null!;
我刚刚添加了完全相同的模型,具有相同的字段并将其命名为PaymentEntity,现在我在使用数据库时出现错误。
public async Task UpdateAsync(PaymentEntity paymentEntity)
{
databaseContext.Payments.Update(paymentEntity);
await databaseContext.SaveChangesAsync().ConfigureAwait(false);
}
System.InvalidOperationException:无法跟踪实体类型“PaymentEntity”的实例,因为已跟踪了另一个具有相同键值 {'OrderId'} 的实例。附加现有实体时,请确保仅附加一个具有给定键值的实体实例。考虑使用“DbContextOptionsBuilder.EnableSensitiveDataLogging”来查看冲突的键值。
我进行了数据库的迁移和更新。我知道AsNoTracking、ChangeTracker.Clear(),但这似乎不是最好的解决方案