- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
number-6ren">
当我尝试保存数据库更改时,我不断收到此错误:
> {"Store update, insert, or delete statement affected an unexpected
> number of rows (0). Entities may have been modified or deleted since
> entities were loaded. See
> http://go.microsoft.com/fwlink/?LinkId=472540 for information on
> understanding and handling optimistic concurrency exceptions."}
主程序例程为:
class Program
{
static void Main( string[] args )
{
var ctx = new SchoolContext();
Student stud = new Student();
stud.StudentID = 0;
stud.Height = 0.2;
stud.StudentName = "New Student";
ctx.Students.Add(stud);
ctx.SaveChanges();
}
}
DbContext 是:
public class SchoolContext : DbContext
{
public SchoolContext() : base("name=SchoolContext")
{
}
public virtual DbSet<Student> Students { get; set; }
}
模型是:
public class Student
{
public Student()
{
}
public int StudentID { get;set; }
public string StudentName { get;set; }
public double Height { get;set; }
}
我的app.config是:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
</providers>
</entityFramework>
<connectionStrings>
<add name="SchoolContext" providerName="MySql.Data.MySqlClient" connectionString="server=localhost;port=3306;database=test;uid=root;password=tree"/>
</connectionStrings>
</configuration>
我的packages.config文件是:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="6.1.3" targetFramework="net40" />
</packages>
我的数据库表定义为:
DROP TABLE IF EXISTS `students`;
CREATE TABLE `students` (
`Height` double(10,5) DEFAULT NULL,
`StudentId` int(2) DEFAULT NULL,
`StudentName` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
异常发生在主程序中的以下行:ctx.SaveChanges();
加载后没有任何其他代码可以修改我的条目,因此此异常没有意义。我的项目中唯一的文件是上面发布的文件。
有谁知道为什么会发生这种情况以及我应该如何解决它?
代码片段会非常有帮助。
谢谢。
最佳答案
通过编辑数据表使 SutdentID 主键解决了 DbUpdateConcurrencyException:
DROP TABLE IF EXISTS `students`;
CREATE TABLE `students` (
`Height` double(10,5) DEFAULT NULL,
`StudentId` int(2) NOT NULL,
`StudentName` varchar(255) DEFAULT NULL,
PRIMARY KEY (`StudentId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
一切都按预期进行。现在,如果有人可以解释为什么由于缺少主键而应该引发这个误导性异常,这会给我一些结论......
谢谢。
关于mysql - 如何使用 MySql 解决 EntityFramework 的 DbUpdateConcurrencyException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31572897/
我在通过 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 项目中,我似乎在追逐自己的尾部,没有得到要更新的简单记录,这让我发疯了。我错过了什么? 我可以很好地创建记录,但似乎无法计算出执行更新的逻辑。我尝试了
我是一名优秀的程序员,十分优秀!