|
291
|
| strongopinions · 技术社区 · 16 年前 |
|
|
1
410
我遇到了这个问题,这是由于没有设置实体的ID(key)字段造成的。因此,当上下文去保存数据时,它找不到ID=0。确保在update语句中放置断点,并验证已设置实体的ID。
|
|
2
210
这是乐观并发特性的副作用。
无法100%确定如何在Entity Framework中打开/关闭它,但基本上它告诉您的是,从您从数据库中获取数据到您保存更改时,其他人已经更改了数据(这意味着在您保存数据时,0行实际上得到了更新)。用SQL术语来说,它们的
它背后的思想是,您不会最终覆盖应用程序不知道已经发生的更改—这基本上是.NET在您的所有更新中引入的一个小安全措施。
|
|
|
3
119
哇,有很多答案,但当我做了一些其他人都没有提到的稍有不同的事情时,我犯了这个错误。
长话短说,如果您创建一个新对象,并告诉EF使用
是的,这看起来很愚蠢,但它的出现是因为所讨论的方法过去有
容易修复,只要改变
|
|
|
4
23
用于更新对象的主键!我倾向于忘记这个简单但非常重要的事情!
顺便说一句:
|
|
|
5
16
|
|
|
6
15
该问题由以下两种原因之一引起:-
|
|
|
7
12
解决方案是在插入之前截断DateTime.Now的毫秒数。 |
|
|
8
10
answer 帮助找到了解决办法。
我的模型使用的是
|
|
|
9
10
检查你的 身份证件 RowVersion 是 非空 . 有关更多信息,请参阅本教程 |
|
|
10
8
编辑时,将实体的id或主键作为隐藏字段包含在视图中 即
|
|
|
11
8
我也遇到了这个错误。这个问题原来是由我试图保存到的表上的触发器引起的。触发器使用了“而不是INSERT”,这意味着曾经向该表插入过0行,因此出现了错误。幸运的是,在五月的情况下,触发器功能是不正确的,但我想它可能是一个有效的操作,应该以某种方式在代码中处理。希望有一天这能帮助别人。 |
|
|
12
8
在从模型优先更改为代码优先后,我开始出现此错误。我有多个线程更新数据库,其中一些线程可能更新同一行。我不知道为什么首先使用模型时没有问题,假设它使用不同的并发默认值。
然后叫
|
|
|
13
7
您需要显式地包含主键的边界字段。如果您不希望用户看到主键,则必须通过css将其隐藏:
其中“hidden”是css中的一个类,其显示设置为“none”。 |
|
|
14
7
|
|
|
15
6
|
|
|
16
5
只需确保表和表单都更新了主键和edmx。
我发现更新过程中出现的任何错误通常是因为:
-表中没有主键
|
|
17
5
我也有这个错误。在某些情况下,实体可能不知道您使用的实际数据库上下文,或者模型可能不同。为此,设置:EntityState.Modified;添加到EntityState;
希望这有帮助。 |
|
|
18
5
这解决了我的问题 |
|
|
19
4
在我的例子中,我试图更新主键,这是不允许的。 |
|
|
20
4
偶尔出现的错误:
一直在工作:
|
|
|
21
3
当我删除数据库中的一些行(在循环中)并在同一个表中添加新行时,我遇到了这个错误。 我的解决方案是,在每个循环迭代中动态地创建一个新的上下文 |
|
22
3
|
|
23
3
如果您试图插入一个独特的约束条件,也会发生这种情况,即如果您每个雇主只能有一种类型的地址,并且您尝试在同一雇主中插入第二种相同类型的地址,您将遇到相同的问题。 或 如果指定给的所有对象特性的值与以前相同,也可能发生这种情况。
|
|
|
24
2
我希望我说清楚了。 |
|
|
25
2
具有
|
|
|
26
2
我也有同样的问题。但这是由于我自己的错误。实际上我是在保存一个对象而不是添加它。这就是冲突。 |
|
|
27
2
在Sql Server环境中调试此问题的一种方法是使用Sql Server副本附带的Sql Profiler,或者如果使用的是Express版本,则通过以下链接从CodePlex免费获取一份Express Profiler副本: 通过使用Sql Profiler,您可以访问EF发送到DB的任何内容。就我而言,这相当于:
我将其复制粘贴到Sql Server中的查询窗口中并执行它。果不其然,尽管它运行了,但0条记录受此查询的影响,因此EF返回了错误。
但这并不是EF的错,而是视图控制器中出现了一个错误的null合并“?”语句,该语句正在向数据层发送无用信息。 |
|
|
28
2
以上答案都没有完全涵盖我的情况和解决办法。 MVC5控制器中引发错误的代码:
您可以通过A)修改save调用来添加对象,或者B)只需在编辑时不更改主键即可解决此问题。我做了(B)。 |
|
29
2
当被接受的答案是“我的朋友”
它不会覆盖应用程序不知道发生的更改
“,我对此表示怀疑,因为我的对象是新创建的。但后来发现,有一个
一旦我把这个改成
|
|
|
30
2
这种情况发生在我身上是因为datetime和datetime2之间不匹配。奇怪的是,在测试人员发现问题之前,它工作正常。My Code First模型包含日期时间作为主键的一部分:
生成的列是datetime列。调用SaveChanges时,EF生成以下SQL:
|
|
|
Paritosh · EF Core为什么要返回相关属性 1 年前 |
|
|
chuckd · 如何检查EF Core中是否存在当月创建的行(记录) 2 年前 |
|
|
Steven · 带sqlite的EF与sqlite净pcl 2 年前 |
|
|
Riyaz Vagapov · EF核心交易 2 年前 |