我将 SQLite 与 C# 结合使用,并定义了一些定义了外键的表。
现在,我知道默认情况下 SQLite 中不强制执行外键约束,但我想将它们打开。
是否可以通过代码来做到这一点?我查了相关的question https://stackoverflow.com/questions/1124424/foreign-key-definition-in-sqlite,但我不知道如何通过 C# 代码来做到这一点。我正在使用 Visual Studio 2008 可用的最新 SQLite 插件来设计我的表。
conn.Open();
SQLiteCommand cmd = new SQLiteCommand("PRAGMA foreign_keys = ON", conn);
cmd.ExecuteNonQuery();
conn.Close();
当重新打开此连接时,我需要保留此更改。是否可以?
终于弄清楚了这一点这个帖子 https://stackoverflow.com/questions/6288871/foreign-key-support-in-sqlite3?answertab=oldest#tab-top。 PRAGMAforeign_key 设置不会持续存在,但您可以在每次建立连接时设置它连接字符串。这允许您使用 Visual Studio 的表适配器。
- 确保您拥有最新版本 http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki安装了 system.data.sqlite (1.0.73.0)(1.0.66.0 不起作用)。
- 改变你的连接字符串 to
data source=C:\Dbs\myDb.db;foreign keys=true;
(将 C:\Dbs\myDb.db 替换为您的 sqlite 数据库)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)