我试图选择2个整数列的列表将结果映射到元组.举个例子:
return connection.Query<Tuple<int,int>>("select id1, id2 from sometable").ToList();
Run Code Online (Sandbox Code Playgroud)
不起作用,但如果我创建一个具有两个整数的类,相同的查询确实有效,例如:
return connection.Query<BogusClass>("select id1, id2 from sometable").ToList();
public class BogusClass{
public int id1 {get;set;}
public int id2 {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我的偏好不是为了获得一些数据而必须创建一些虚假类.在这种情况下,它是两个整数列,但我还能想到其他用例.
编辑 - 答案:这是HTH的语法
改变:
return connection.Query<Tuple<int,int>>("select id1, id2 from sometable").ToList();
Run Code Online (Sandbox Code Playgroud)
至:
return connection.Query<int, int, Tuple<int, int>>("select id1, id2 from sometable", Tuple.Create, splitOn: "*").ToList();
Run Code Online (Sandbox Code Playgroud) 我目前正在构建一个将12个表连接在一起的SELECT查询.我一直在使用Dapper进行所有其他查询,效果很好.问题是,泛型方法只需要五个通用参数.
我之前修改过代码以支持最多6个用于另一个查询,但现在我真的不认为我应该破解6个更多级别的泛型.
有没有办法将dapper传递给一个类型数组,并将结果作为一个对象数组返回,如果必须的话我可以手动编译?
我也可能以错误的方式接近问题!任何帮助将不胜感激!
我有一行来自数据库
select "John" Name,
"Male" Gender,
20 Age,
"Rex" PetName,
"Male" PetGender,
5 PetAge
// ... many more ...
Run Code Online (Sandbox Code Playgroud)
使用Dapper,我想把这一行拉成两个对象:
class Person
{
public string Name { get; set; }
public string Gender { get; set; }
public int Age { get; set; }
// ... many more ...
}
class Pet
{
public string PetName { get; set; }
public string PetGender { get; set; }
public int PetAge { get; set; }
// ... many more ...
} …Run Code Online (Sandbox Code Playgroud)