c# - 如何在 Dapper 中正确使用 SplitOn?
问题描述
我在 Dapper 上遇到了这个错误:
System.ArgumentException:'使用多映射 API 时,如果您有除 Id 参数名称以外的键,请确保设置 splitOn 参数:splitOn'
这是我的代码:
public class DivisionModel
{
public int id { get; set; }
public string DivisionName { get; set; }
}
public class EmployeeModel
{
public int id { get; set; }
public string FirstName { get; set; }
public string MiddleName { get; set; }
public string LastName { get; set; }
public DivisionModel Division { get; set; } = new DivisionModel();
}
public List<EmployeeModel> GetEmployee_All()
{
using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(GlobalConfig.CnnString(db)))
{
var sql = @"SELECT em.LastName,em.FirstName,em.LastName,dv.DivisionName
FROM [Employee] em JOIN [Division] dv ON em.DivisionId = dv.id";
var result = connection.Query<EmployeeModel, DivisionModel, EmployeeModel>(sql, (employee, division) =>
{
employee.Division = division;
return employee;
},
splitOn: "DivisionId");
return result.ToList();
}
}