我将 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;
}
谁能帮我解决这个问题?