首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Linq到SQLite通过DbLinq创建记录

使用Linq到SQLite通过DbLinq创建记录
EN

Stack Overflow用户
提问于 2009-09-25 14:46:35
回答 1查看 3.6K关注 0票数 2

我已经(经过一些重大努力)让DbLinq在OS上使用最新的Mono版本。

是否有人成功地通过DbLinq/Sqlite创建了数据库实体?

例如,我有下表:

代码语言:javascript
复制
CREATE TABLE UserType (
    id integer primary key,
    description text )

我已经生成了我的*.cs文件,并且正在使用下面的代码尝试创建一个新的UserType条目:

代码语言:javascript
复制
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?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-10-02 15:59:06

结果表明,在使用DbLinq时,需要修改DB连接字符串,以便Mono的System.Data.Linq知道生成其SQL代码时使用哪个DB提供程序。

旧:

代码语言:javascript
复制
SqliteConnection("Data Source=MyDatabase.sqlite");

新的:

代码语言:javascript
复制
SqliteConnection("DbLinqProvider=Sqlite;Data Source=MyDatabase.sqlite");

事情就是这么简单。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1477729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档