gpt4 book ai didi

sqlite - Mono + SQLite + Dapper SQLite 插入期间出现异常

转载 作者:行者123 更新时间:2023-12-03 01:41:08 36 4
gpt4 key购买 nike

我正在使用 Mono、SQLite、Dapper 和 Dapper 扩展。我可以从数据库中读取数据,但插入不起作用。我正在使用 sqlite 的 Mono 驱动程序。

错误并不能提供太多信息,至少对我来说是这样。任何帮助将不胜感激。

错误:

SQLite error
near ".": syntax error
at Mono.Data.Sqlite.SQLite3.Prepare (Mono.Data.Sqlite.SqliteConnection cnn, System.String strSql, Mono.Data.Sqlite.SqliteStatement previous, UInt32 timeoutMS, System.String& strRemain) [0x00000] in <filename unknown>:0
at Mono.Data.Sqlite.SqliteCommand.BuildNextCommand () [0x00000] in <filename unknown>:0

测试代码:

public void can_add_a_service_record()
{
var provider = new Provider { Name = "Hotmail" };
int id = providerData.Insert(provider);
Assert.AreEqual("Hotmail", providerData.Get(id).Name);
}

插入代码如下。

public virtual int Insert (TEntity entity)
{
var connection = SqlHelper.GetConnection();
int id = connection.Insert<TEntity>(entity);
connection.Close();
return id;
}

谢谢

奇迪普

最佳答案

对我来说,这看起来像 Dapper Extensions问题,而不是 Dapper 问题。特别是,我看不到实现的 Sqlite 方言:https://github.com/tmsmith/Dapper-Extensions/tree/master/DapperExtensions/Sql

为了解决这个问题,我建议您提交 Dapper Extensions 项目的补丁(与 Dapper 完全独立),或者在 Dappe 之上使用不同的包装器,或者在没有包装器的情况下使用 Dapper。

例如,以下内容应该有效:

var id = cnn.Query<int>("insert cars values(@name); select last_insert_rowid()", 
new {name = "bmw"});

关于sqlite - Mono + SQLite + Dapper SQLite 插入期间出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10441113/

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