所以我试图升级SQLite数据库。我的升级要求我更改列数据类型。因此,我的思考过程就是这样做(我将调用表foo
):
foo_temp
表。foo_temp
表。foo
表。foo_temp
表更改为foo。然而,由于外键限制,它在第3步失败。我已经尝试了从在放置之前插入PRAGMA foreign_keys = OFF;
到将foreign keys=false;
附加到连接字符串的所有内容。它不会出现Fluent Nhibernate会让我放弃这张桌子。也许有一个设置,我可以在配置' Fluently'连接?我似乎无法找到它。
当我去使用UI客户端(如SQLiteSpy)时,我注意到它丢弃表没有任何问题。可能导致这种情况的原因是什么?
答案 0 :(得分:0)
所以我想出了一个似乎有用的解决方案。使用我在这里找到的代码(信用转到ppiotrowicz):
enabling SQLite foreignkeys in nhibernate
我基本上为PRAGMA foreign_keys = ON
换出PRAGMA foreign_keys = OFF
并使用SQLiteConfiguration.Standard.ConnectionString(cs).Driver<MyDriver>()