无法使用短小精悍,“有几种方法适用”

时间:2013-03-26 22:15:41

标签: c# .net dapper

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

问题中的错误位于“conn.Execute ...”行中,并显示:

  

C#:有几种方法适用于'(string,DBManager。(anonymous))':'Dapper.SqlMapper.Execute(System.Data.IDbConnection,string,System.Data.IDbTransaction,int?,System.Data .CommandType?)'和'Dapper.SqlMapper.Execute(System.Data.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;
    }
}

注意“使用Dapper;”被标记为VS2012未使用,并且该方法尚未完成,我正在调整我之前的做法,因为我认为小巧玲珑会有所帮助。

1 个答案:

答案 0 :(得分:0)

所以发生的事情正是@KirkWoll所说的,我公司的dll里面装有dapper的dll,所以我只删除了项目的精巧参考,一切正常。