gpt4 book ai didi

c# - 通过 DbLinq 使用 Linq to SQLite 创建记录

转载 作者:行者123 更新时间:2023-11-30 22:48:48 26 4
gpt4 key购买 nike

我已经(经过一些重大努力)让 DbLinq 在 OS X 上使用最新版本的 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 的调用引发了关于无效语法的异常特别与@ 相关(我猜测在参数化查询中执行插入)。看起来正在生成的代码是特定于 SQL Server 的。是否有我遗漏的修复或标记,或者是否不支持通过 DbLinq 将记录插入 SQLite?

最佳答案

事实证明,当使用 DbLinq 时,您需要修改数据库连接字符串,以便 Mono 的 System.Data.Linq 知道在生成其 SQL 代码时使用哪个数据库提供程序。

旧的:

SqliteConnection("Data Source=MyDatabase.sqlite");

新:

SqliteConnection("DbLinqProvider=Sqlite;Data Source=MyDatabase.sqlite");

就这么简单。

关于c# - 通过 DbLinq 使用 Linq to SQLite 创建记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1477729/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com