Поддерживает ли SQLite в сочетании с NHibernate ссылочную целостность / внешние ключи? - PullRequest
4 голосов
/ 30 марта 2011

Я немного читал о NHibernate с SQLite, полагая, что это может быть очень хорошим вариантом, когда мне нужна легкая обработка базы данных.

Я прочитал следующее (и ссылки), которые говорят о том, какдиалект NHibernate SQLite не поддерживает внешние ключи при создании базы данных, поскольку NHibernate создает внешние ключи с помощью ALTER TABLE .

Мне интересно, если я создаю базу данных SQLite с помощью какого-либо другого инструментаМогу ли я использовать NHibernate с указанной базой данных SQLite, будет ли он соблюдать ссылочную целостность?

Включить ссылочную целостность с помощью nHIbernate с использованием базы данных SQlite

1 Ответ

3 голосов
/ 31 марта 2011

NHibernate 3.1 (в настоящее время доступен выпуск GA) и более ранние версии не поддерживают FK при создании схемы через SchemaExport / SchemaUpdate. Если присутствуют FK, NHibernate будет использовать их. Фактически база данных будет использовать их, и NHibernate сообщит о любых нарушениях FK как HibernateExceptions, как и любая другая база данных.

Поддержка создания FK с помощью SQLite запланирована для выпуска в NHibernate 3.2. Исправление в багажнике, а именно R5543:

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

N.B. Это мое зеркало GitHub официального репозитория SVN на SourceForge.net. GitHub просто делает более качественную и быструю работу по форматированию патчей.

...