问题描述
我有多个类,可在不同的部分页面中使用。我使用Dapper进行sql连接。从数据库中,我得到具有所有属性的单个结果集。
如何将数据绑定到多个类?有机会进行这项工作吗?还是我需要创建一个具有所有属性的类?
我的模特:
public class Class1{
public int prop1 {get;set;}
public int prop2 {get;set;}
}
public class Class2{
public int prop3 {get;set;}
public int prop4 {get;set;}
}
public class Class3{
public int prop5 {get;set;}
public int prop6 {get;set;}
}
数据库的结果集:
PrimarykeyCol prop1 prop2 prop3 prop4 prop5 prop6
解决方法
如果我对您的理解正确,那么这三个类别之间就没有关系。通常,多重映射包括关系。为了使多查询工作,您需要一个返回类型,所以我肯定会为三个类声明一个包装器:
public class Wrapper
{
public Class1 Class1 {get;set;}
public Class2 Class2 {get;set;}
public Class3 Class3 {get;set;}
}
var resultList = conn.Query<Class1,Class2,Class3,Wrapper>(query,(c1,c2,c3) => {
return new Wrapper {Class1=c1,Class2=c2,Class3=c3};
},splitOn: "prop3,prop5"
).AsQueryable();