c# - 如何使用 Entity Framework 5 确保幂等数据库插入?

标签 c# entity-framework-5 azure-sql-database

我想确保我的数据库 (SQL Server) 更新是幂等的,在功能上类似于下面的博客文章,但使用 Entity Framework (v5,数据库优先):

http://blogs.msdn.com/b/adonet/archive/2013/03/11/sql-database-connectivity-and-the-idempotency-issue.aspx

但是,如果我在插入过程中添加一个@Operation 参数,我会得到

"Error 2037: A mapping function bindings specifies a function ... but does not map the following function parameters: Operation"

(@Operation 将是一个 GUID,由应用程序生成,允许应用程序在未从 proc 获得成功响应时使用相同的 GUID 重试。proc 会将 GUID 写入日志表,并且仅在 GUID 不存在时才执行插入 - 从而确保幂等事务。)

有没有优雅的解决方案?

最佳答案

Entity Framework 6.1 版将解决这个问题。 (感谢 EF 团队 - 出色的工作。)

https://entityframework.codeplex.com/wikipage?title=Handling%20of%20Transaction%20Commit%20Failures%20

关于c# - 如何使用 Entity Framework 5 确保幂等数据库插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15447800/

相关文章:

C# 扩展方法似乎不存在

c# - 如何在 TPT 映射中更新 Entity Framework 中的依赖表

c# - IOrderedQueryable 跳过并获取

entity-framework - CTP在 Entity Framework 中代表什么?

Perl/DBI/FreeTDS/SQLAzure 一些插入被忽略

c# - For 循环超出范围

c# - Fiddler 测试 API Post 传递 [Frombody] 类

c# - SQL Server 以及如何处理错误类型而不冲突

.net - transient 故障处理应用程序 block 是否处理当前连接到联合数据库的连接?

c# - 条目(数据库)已添加