在EF插入/更新之后,外键变得不受信任



我们有一个ASP.NET Web应用程序,该应用程序首先使用EntityFramework代码执行插入/更新,并且至少对于我们数据库的外国键,它们会在我们使用我们使用行插入行的任何时候都变得不受信任EF。

重要说明:

  • 没有一个外键被标记为不复制
  • 限制没有明确禁用,然后重新启用,我知道,如果我们禁用和重新确定我需要"使用检查约束">
  • 当发生这种情况时,我们没有进行散装插入

我已经尝试运行SQL Profiler,以查看是否发生了任何奇怪的事情,但我什么也没看到。我看了看EF是否在做任何"合并"陈述,因为我发现某些内容表明这些陈述可能会使约束不受信任。我的理解是,如果没有一些解决方法,EF将不会做任何"合并"陈述。我唯一能想到的与默认设置不同的是,快照隔离已打开,但我没有发现任何说这会影响FKS的信任。

编辑:只想补充说我已经运行了SQL语句以重新信念FKS,然后在Web应用程序中运行一个序列,该序列将相同的FKS带回不受信任。它是可重复的。

还有什么可能导致它,或者我还能尝试确定为什么它们变得不受信任?

编辑:在呼叫树的深处,我们正在使用效率库进行批量插入,默认情况下该库不启用或提供替代,以启用对基础SQLBULKCOPY对象的约束检查。从那以后,我们已经分叉并修改了效率(原始项目在GitHub上几乎已经死了(库,以添加一个方法过载,以用于sqlbulkcopyoptions。

我们正在使用库,效率,用于不检查约束且没有能力覆盖选项的批量插入。我们最终分配了代码库,并对库进行了一些更改,以提供将SQLBulkCopyOptions对象传递到Insertall((方法的能力。我们的项目仅存在脱机,因此我没有指向我们专门进行更改的github链接,但是它与这些提交中所做的更改非常相似,只有我们默认我们以检查约束:添加了对sqlbulkcopyptions上的"插入" interall"界面上的支持。。#35

相关内容

  • 没有找到相关文章

最新更新