我已经(经过一些重大努力)让DbLinq在OS上使用最新的Mono版本。
是否有人成功地通过DbLinq/Sqlite创建了数据库实体?
例如,我有下表:
CREATE TABLE UserType (
id integer primary key,
description text )我已经生成了我的*.cs文件,并且正在使用下面的代码尝试创建一个新的UserType条目:
UserType newUserType = new UserType();
newUserType.id = null // Attempting to get SQLite to increment
newUserType.description = "Administrator";
db.UserType.InsertOnSubmit(newUserType);
db.SubmitChanges();对SubmitChanges的调用是抛出一个关于与@特别相关的无效语法的异常(我猜是在参数化查询中进行插入)。看起来正在生成的代码是特定于Server的。是否有我缺少的修补程序或标志,或者是否不支持通过DbLinq将记录插入到SQLite?
发布于 2009-10-02 15:59:06
结果表明,在使用DbLinq时,需要修改DB连接字符串,以便Mono的System.Data.Linq知道生成其SQL代码时使用哪个DB提供程序。
旧:
SqliteConnection("Data Source=MyDatabase.sqlite");新的:
SqliteConnection("DbLinqProvider=Sqlite;Data Source=MyDatabase.sqlite");事情就是这么简单。
https://stackoverflow.com/questions/1477729
复制相似问题