У меня есть базовый класс, который содержит два подкласса, и у базового класса нет дополнительных свойств. Я хочу использовать кратковременное сопоставление данных для непосредственного сопоставления данных с подклассами. Но в разделенном свойстве он выдает и исключение, говорящее
"При использовании multi-mapping APIs
убедитесь, что вы установили splitOn
param
, если у вас есть ключи, отличные от Id`` `
и я не могу разбить сам первый столбец.
public class User
{
public int UserId {get; set;}
public string UserName {get; set;}
}
public class Business
{
public int BusinessId {get; set;}
public string BusinessName {get; set;}
}
public class UserAndBusiness
{
public User UserDetails{get; set;}
public Business BusinessDetails{get; set;}
}
var userDetails = await dbConnection.QueryAsync<UserAndBusiness,
User,Business,UserAndBusiness>(@"
select User_Id UserId,User_Name UserName,Business_Id BusinessId,
Business_Name BusinessName from Users u join Business b on u.User_Id=b.User_Id",
map:(ub,u,b)=>
{
ub.UserDetails=u;
ub.BusinessDetails=b;
return ub;
},
splitOn:"UserId,BusinessId"
);
Здесь я хочу разделить результат с самого начала, чтобы присвоить данные подклассам