- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个有效实现缓存的表 - 我们将内容放入,我们将内容取出。它有一个 last_accessed 字段,指示它何时被插入或读取,它有一个 max_age 字段,指示保留记录的时间。
我们想清除旧记录,而不是让它们累积。在我看来,处理这个问题的最简单方法就是在每次访问记录时调用清除例程。
这在 EF 中很简单:
var oldCacheItems =
this.xxDbContext.XXtokencaches.Where(
t => EntityFunctions.AddMinutes(t.lastAccessed, t.expirationMinutes) < DateTime.Now);
this.xxDbContext.XXtokencaches.RemoveRange(oldCacheItems);
this.xxDbContext.SaveChanges();
工作正常,一个人。但是当我有多个客户端运行时,我偶尔会得到 DbUpdateConcurrencyExceptions:
System.Data.Entity.Infrastructure.DbUpdateConcurrencyException was unhandled by user code
HResult=-2146233087
Message=Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. Refresh ObjectStateManager entries.
Source=EntityFramework
四处浏览,我看到很多关于 EF 中并发问题的讨论。但在这种情况下,我不确定这是否重要。本质上,这个特定错误是 EF 提示它无法删除记录,因为其他人已经删除了它们。
所以我正在考虑简单地捕获 DbUpdateConcurrencyException 并忽略它。
是否有任何我可能没有考虑到的可能后果?
或者一些可以消除问题的替代方法?
最佳答案
我认为这取决于您的业务逻辑。您可以假设数据库版本胜过您的版本。
关于sql-server - 可以忽略 DbUpdateConcurrencyException 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29372981/
我在通过 DbContext.Add(...) 方法添加新实体时遇到问题。在 DbContext.SaveChanges() 上,我得到一个 DbUpdateConcurrencyException。
我有一个表单,用户可以在其中编辑他们的用户帐户信息,然后保存新的更改。 当我将修改后的更改保存到数据库时,我遇到了这个问题。 在 context.SaveChanges() 行中,我抛出了一个 DbU
我已经阅读了一些关于可能导致 dbUpdateConcurrencyException 的问题和文章而且它们似乎都与我的代码中发生的事情无关。我对使用 Entity Framework 6.0 的 C
我在 EF6 应用程序中有以下类。 public class Extension { [Key] [Column(Order = 1)] [DatabaseGenerated(
我正在尝试通过 webapi 后面的 aspnetcore.identity UserManager 删除用户。 [HttpPost("Delete", Name = "DeleteRoute
我有一个应用程序可以将大量数据读入内存并分批处理。 我想要的是 Entity Framework 忽略 DbUpdateConcurrencyException删除已删除的实体时。 原因是当一个实体被
我有一个有效实现缓存的表 - 我们将内容放入,我们将内容取出。它有一个 last_accessed 字段,指示它何时被插入或读取,它有一个 max_age 字段,指示保留记录的时间。 我们想清除旧记录
也许我的搜索查询不是很复杂,但我没能找到我正在寻找的正确答案。 我正在 .NET Core (MVVM) 中开发一个 Web 应用程序,其中包含一些用于 CRUD 操作的形式。我处于学习曲线中,观看了
我有以下代码,我正在尝试使用 ef core 更新 ClientAccount,但它们并发检查失败: public class ClientAccount { [Key
我需要帮助测试以下代码 public virtual void Update(T entity) { if (entity == null) {
我在使用 Entity Framework 和 Code First 时遇到问题。我有一个带有 Timestamp 属性的实体,我向数据库添加了一条新记录,调用 SaveChanges,一切正常。当我
这是我的问题:每次我尝试向数据库中添加一行时,都会出现以下异常: DbUpdateConcurrencyException 除了我,没有其他人使用这个开发数据库。请帮忙。我在我的智慧在这里结束。 这是
我正在工作中构建一个新的 .Net Core 2.2 网站并尝试了几种不同的方法,但是在设置 CRUD 模型后使用编辑功能时我收到错误消息。最初我从数据库优先方法开始,然后在尝试编辑项目时收到 DbU
我刚刚启用了我的一个实体的“并发模式”属性。 当我尝试更新时一切正常。 但是当我尝试删除实体时,我总是得到这个错误: DBUpdateConcurrencyException Store update
我在带有 Web 客户端的 Web API 服务器上使用 EF 6.x(代码优先),我需要实现并发处理。问题是我什至无法让 EF 生成异常。 我发现的大多数示例似乎都没有使用“分离的实体”,在这种情况
我正在使用 DbContext 试验 POCO,但不明白如何触发乐观并发异常。当我在应该并发失败的时候调用 DbContext.SaveChanges() 时,它返回零而不是抛出 DbUpdateCo
我有 3 个相关表 个人实体:具有来自地址实体的两个外键(Address 和 Address1)以及来自所有者表的一个外键 地址实体有一个来自所有者表的外键 人员 View 具有来自地址实体的字段,并
当我尝试保存数据库更改时,我不断收到此错误: > {"Store update, insert, or delete statement affected an unexpected > number
MVC/EF 新手……我的 MVC Web 应用程序是首先使用数据库模型中的代码创建的,因为我已经有了数据库(SQLExpress)…… 当我尝试将记录更新到数据库时出现以下错误: Store upd
在 MVC 3 Entity Framework 项目中,我似乎在追逐自己的尾部,没有得到要更新的简单记录,这让我发疯了。我错过了什么? 我可以很好地创建记录,但似乎无法计算出执行更新的逻辑。我尝试了
我是一名优秀的程序员,十分优秀!