c# - 从 NHibernate 获取 {"could not execute batch command.[SQL: SQL not available]"} 错误

标签 c# sql nhibernate c#-4.0 fluent-nhibernate

我查看了其他相关帖子,但找不到任何解决方案。
有时在 sesstion.Flush() 上我会收到以下错误:

{“无法执行批处理命令。[SQL:SQL 不可用]”}

和内部异常:

{“UPDATE 语句与 FOREIGN KEY 约束 FK1377052553ABF955 冲突。冲突发生在数据库 ProcessDebug、表 dbo.Adjustment、列‘AdjustmentId’中。语句已终止。”

一段进程类映射:

   References(p => p.CurrentAdjustment)
        ;

    References(p => p.DefaultAdjustment)
        ;

    HasMany(p => p.Adjustments)
        .Cascade.AllDeleteOrphan()
        .Inverse()
        ;

以上所有这些属性都属于 Adjustment 类型。 只要我偶尔遇到这个错误,我就无法追踪到它。对于一个实体,它现在可能会发生,但下次不会在同一段代码中发生....

知道是什么导致了这个问题吗?
我正在使用 NH 3.2 和 FluentNhibernate
提前致谢

最佳答案

在我的情况下,它在其中一个数据库列中为“NULL”。检查您的数据库数据。

FOREIGN KEY -> 这意味着,您可能有 null i 列,用于“连接”。

附注使用 SQL Profiler 并检查 nHibernate 生成的 SQL。

关于c# - 从 NHibernate 获取 {"could not execute batch command.[SQL: SQL not available]"} 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9482784/

相关文章:

C# 求解最简单的方程

sql - 优化 Postgresql 查询

wcf - 为nHibernate选择哪个二级缓存?

exception - NHibernate "Repeated column in mapping for collection"异常

c# - Asp.net Core RequestSizeLimit 仍然执行 Action

c# - 使用日期精度运行查询时,您不能提供带日期的时间

sql - 将 XML 插入 SQL Server 2008 数据库

sql - 如何判断 Rails 中的 SQL 事务是否成功?

hibernate - 子类中的 Nhibernate/hibernate 鉴别器

c# - 在 WPF 应用程序中使用 Silverlight 控件