nhibernate - SQLite 与 NHibernate 结合是否支持参照完整性/外键?

标签 nhibernate sqlite foreign-keys referential-integrity

我一直在阅读有关 NHibernate 和 SQLite 的一些内容,认为当我需要轻量级数据库处理时,它可能是一个非常好的选择。

我已经阅读了以下内容(和链接),它们讨论了 NHibernate SQLite 方言如何在创建数据库时不支持外键,因为 NHibernate 通过 ALTER TABLE 创建外键。

我想知道,如果我通过其他一些工具创建一个 SQLite 数据库,我是否能够将 NHibernate 与上述 SQLite 数据库一起使用,它会尊重参照完整性吗?

Enable referential integrity with nHIbernate using SQlite database

最佳答案

NHibernate 3.1(当前可用的 GA 版本)及更早版本在通过 SchemaExport/SchemaUpdate 生成模式时不支持 FK。如果 FK 存在,NHibernate 将使用它们。实际上,数据库会使用它们,并且 NHibernate 会将任何 FK 违规报告为 HibernateExceptions,就像任何其他数据库一样。

计划在 NHibernate 3.2 中发布对 SQLite 生成 FK 的支持。修复在后备箱中,特别是 R5543:

https://github.com/JamesKovacs/nhibernate/commit/2711450b8fcea66df41699ac595b4cc814d7f64b

注意这是我在 SourceForge.net 上的官方 SVN 存储库的 GitHub 镜像。 GitHub 在格式化补丁方面做得更好、更快。

关于nhibernate - SQLite 与 NHibernate 结合是否支持参照完整性/外键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5479901/

相关文章:

forms - .net Windows 窗体应用程序的自动 CRUD 窗体生成

Android:从SQlite获取单行,空指针异常

perl - SQLite 数据库文件可以设为只读吗?

swift - 如何使用 swift 为 sqlite 提供数据库路径

sql-server - 为什么我新创建的 FK 关系没有出现在对象资源管理器中?

mysql - PHPMyAdmin 更改现有表以创建外键

.net - 最佳的.NET Web开发框架是什么?

nhibernate - 防止 Fluent NHibernate 选择 n+1

NHibernate 错误信息 : Invalid index 3 for this SqlParameterCollection with Count=3

mysql查询帮助,使用来自另一个表的关系id从表中获取值