我在数据库中创建了一个外键约束 ON DELETE SET DEFAULT ,并分配了一个默认值。
我尝试过的事情:
我可能错过了什么...
更新: App.Config以某种方式与项目设置解除同步,因此额外的参数未包含在构建中。但是,通过项目属性添加参数会引发错误。
"Data Source=.\InventoryManagerDatabase.db;foreign keys=true;"
错误:
System.InvalidOperationException:'未知的连接字符串参数'外键'。
显然此参数不存在?我检查了各种资源,包括Enabling Foreign key constraints in SQLite和SQLite EF6 programmatically set connection string at runtime,但这很奇怪... SQLite是否删除了此参数或对其重命名了?
我也尝试过(以及区分大小写的组合):
EnforceFKConstraints=True;
foreign key=true;
foreign keys=true;
foreign_keys=true;
ForeignKeys=true;
Foreign Key Constraints=true;
PRAGMA foreign_keys = ON; // obviously does not work
但是什么都不起作用...
答案 0 :(得分:0)
终于找到了!
解决方案:
connectionString="Data Source=.\YourDatabaseName.db;Foreign Key Constraints=On;Version=3;"
是的,他们在某处将其更改为 Foreign Key Constraints = On ,并且Google的每个页面(包括StackOverflow)仍显示旧参数...