CS1061“IDbConnection”不包含“QueryFirstOrDefaultAsync”的定义

时间:2021-04-06 18:42:27

标签: c# asp.net-web-api2 dapper

我将 Dapper version="2.0.78" 用于基于 .NETFramework = 4.7.2 的 asp.net web api2 应用程序。

我有以下代码:

IDapperService.cs:

bee_key_fact_sheet.csv.foreach('so1.csv', :headers => true, :col_sep => ",", :skip_blanks => true) do |row|
  id, name = row[0], row[1]
  unless (id =~ /#/)
    names = name.split
  end

DapperService.cs:

using System.Data;

public interface IDapperService
{
    IDbConnection CreateConnection();
}

TestCountryGroupVM.cs:

using System.Configuration;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;

public class DapperService : IDapperService
{
    
    private DbConnection _dbConnection = null;
    public DapperService()
    {
        _dbConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
    }

    public IDbConnection CreateConnection()
    {
        var conn = _dbConnection;
        conn.Open();
        return conn;
    }
}

TestMethod.cs:

public class TestCountryGroupVM
{
    public int CountryGroupId
    {
        get;
        set;
    }

    public string GroupName
    {
        get;
        set;
    }

    public CountryVM Country
    {
        get;
        set;
    }
}

在编译上面的代码时,我收到以下错误:

using System.Threading.Tasks;
using Dapper;
    
public async Task<TestCountryGroupVM> TestMethod(RequestDTO value)
{
        var localeLangId = 10;
        var dftLanguageId = 20;
        var query = @"select * from Employees";
        var result = new TestCountryGroupVM();
        using (var conn = _dapperService.CreateConnection())
        {
            var data = await conn.QueryFirstOrDefaultAsync<TestCountryGroupVM, CountryVM, TestCountryGroupVM>(query, (cg, c) =>
            {
                cg.Country = c;
                return cg;
            }, splitOn: "Uuid", param: new
            {
            @countryCode = value.CountryCode, @locLangId = localeLangId, @dftLangId = dftLanguageId
            }
    
            );
            result = data.FirstOrDefault();
            var countryVM = new CountryVM{Uuid = Convert.ToString(result.Country.Uuid), DisplayName = result.Country.DisplayName, DisplayNameShort = result.Country.DisplayNameShort, Name = Helper.ReplaceChars(result.Country.DisplayName)};
            result.Country = countryVM;
        }
    
        return result;
    }

谁能帮我解决这个问题?

0 个答案:

没有答案
相关问题