无法使用dapper,“有几种方法可用”

本文关键字:几种 方法 dapper | 更新日期: 2023-09-27 18:05:56

我试图使用Dapper对SQLite数据库进行简单的CRUD操作,但我遇到了麻烦,因为编译器正在指责一个错误,我根本不知道如何修复。

问题中的错误在"conn.Execute…"行,它说:

c#:有几个方法适用于'(string, DBManager.(anonymous))': 'Dapper.SqlMapper.Execute(System.Data. execute)'IDbConnection, string, System.Data。IDbTransaction, int ?’和‘Dapper.SqlMapper.Execute(System.Data. commandtype ?)’。IDbConnection, string, System.Data。IDbTransaction, int ?, System.Data.CommandType?)' DBManager.cs

下面是我的代码,我尽量把所有我认为有用的东西放在这里,但不要放太多。

using System;
using System.Linq;
using Dapper;
public bool Insert(SchedulerHistory record)
{
    int res = -1;
    if (record == null)
        return false;
    try
    {
        //var db = new SQLDatabase();
        string sqlquery = "insert into SchedulerHistory (JobId, NextJob, LastJob, ExecuteOnStart) Values (@JobId, @NextJob, @LastJob, @ExecuteOnStart);";
        using (var conn = new System.Data.SQLite.SQLiteConnection(m_connString))
        {
            conn.Open();
            conn.Execute (sqlquery, new { JobId = record.JobId, NextJob = `record.NextJob, LastJob = record.LastJob, ExecuteOnStart = record.ExecuteOnStart });`
            return (res > 0);
        }
    }
    catch (Exception ex)
    {
        LogWriter.Error(ex);
        return false;
    }
}

请注意,"using Dapper;"被标记为VS2012未使用,并且该方法没有完成,我是从我以前所做的调整,因为我认为Dapper会有所帮助。

无法使用dapper,“有几种方法可用”

所以发生的事情正是@KirkWoll所说的,我公司的dll里面有dapper的dll,所以我只是删除了我项目的dapper引用,一切都很好。