EF - > System.Data.Entity.Infrastructure.DbUpdateException - >主键Guid.Empty约束 - >默认绑定= newsequentialid()

时间:2014-06-06 15:06:37

标签: c# entity-framework entity-framework-5 c#-5.0

我有一段代码在一整天(经常)经常受到重创。

它将EntityFramework与Guids一起用作正在更新的表上的ID。 (Id = PK = Guid)

当新记录插入表中时,它使用newsequentialid()的表默认绑定。我会包含正在运行的代码,但它是非常常见的EF C#代码。 :

_context.SaveChanges();

我遇到的是当这个代码被点击并插入新记录时,它似乎在踩踏自己。返回的错误是。 :

System.Data.Entity.Infrastructure.DbUpdateException: An error occurred while updating the entries. See the inner exception for details.

我在它上运行了一个sql配置文件,它实际上是错误的,因为主键约束为000-0000而无法执行插入....也就是Guid.Empty()。

所以,我目前的想法是它经常运行,以至于newsequentialid()的所有请求都互相踩到了这个问题。

我希望其他人有这个或类似的问题并且可以对此发表评论。我想我很久以前遇到过这个问题并且读到解决方案是将EF切换到ADO.NET。

1 个答案:

答案 0 :(得分:1)

我也遇到了这个问题并通过在EF设计师中将属性“StoreGeneratedPattern”更改为“identiy”来解决它。

我想张贴一张照片,但似乎我没有足够的声望点。