4

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

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

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

使用 SQlite 数据库启用 nHIbernate 的引用完整性

4

1 回答 1

3

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 在格式化补丁方面做得更好、更快。

于 2011-03-30T21:11:17.930 回答