0

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で使用されていないものとしてマークされており、その方法は実行されていません。dapperが役立つと思ったので、以前に実行した方法を採用していました。

4

1 に答える 1

0

つまり、@ KirkWollが言ったこととまったく同じで、私の会社のdllにはdapperのdllが含まれていたので、プロジェクトのdapper参照を削除しただけで、すべてが正常に機能しました。

于 2013-04-03T18:18:14.600 に答える