#c# #sqlite #foreign-keys #system.data.sqlite
#c# #sqlite #внешние ключи #system.data.sqlite
Вопрос:
Согласно этому потоку 2010 года, свойство строки подключения «EnforceFKConstraints» должно было быть реализовано в будущих выпусках SQLite. Кто-нибудь знает, нашли ли разработчики время для этого?
Если нет, есть ли другой способ включить поддержку внешнего ключа, не выполняя «PRAGMA foreign_keys = ON» при каждом подключении? Мне это нужно, чтобы убедиться, что удаления всегда выполняются каскадно.
Ответ №1:
Будущее развитие System.Data.SQLite ADO.NET поставщик для SQLite выполняется этой группой. В настоящее время проект находится в статусе миграции, и некоторые функции даже недоступны сейчас (которые были доступны в версии 1.0.66, которая в последний раз поддерживается Робертом Симпсоном (автором оригинальной библиотеки)).
Согласно последнему исходному коду, доступному в магистрали, «EnforceFKConstraints» не поддерживается. Однако есть foreign keys
свойство строки подключения, которое имеет значение по умолчанию False
, может быть, оно выполняет свою работу? Попробуйте включить foreign keys=True
свойство в строку подключения. Обязательно используйте последнюю стабильную сборку из here.
Обновить.Посмотрев глубже в исходный код, я почти уверен, что это свойство строки подключения выполняет именно то, что вы хотите.
Комментарии:
1. Спасибо, это сработало. Мне нужно было обновиться с 1.0.66 до последней версии, на которую вы ссылались.