asp.net-mvc - 使用 Dapper 将单个 ResultSet 绑定到多个类
问题描述
我有多个类,我在不同的部分页面中使用它们。我使用 Dapper 进行 SQL 连接。从 DB 我得到具有所有属性的单个结果集。
如何将数据绑定到多个类?有没有机会得到这份工作?或者我需要创建一个包含所有属性的类?
我的模型:
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();
推荐阅读
- jenkins - 将数据(变量/参数)从一个下游作业传递到上游作业,以便将数据传递到另一个下游作业
- javascript - 我们可以直接在类中添加嵌套对象吗?什么是正确的语法?
- moodle - 在 Moodle 课程中查看用户的角色
- python - Python - 减少 if 语句的数量
- python - 如何快速有效地加入基于多个条件的两个大数据框?
- c - Zed板上的C APP通过轴DMA流接口从PL(FPGA)读回数据
- flutter - Flutter 函数返回 null
- content-management-system - Umbraco Core 8.0.0.0 用户验证问题
- linux - LINUX复制最新文件夹的名称并将其粘贴到命令中
- python - 找不到模块(__init__.py 存在),我正在完全复制教程