问题标签 [multi-mapping]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
17209 浏览

c# - 无法让多映射在 Dapper 中工作

和 Dapper 一起玩,到目前为止我对结果非常满意 - 很有趣!

但是现在,我的下一个场景是从两个表中读取数据——一个表Student和一个Address表。

Student表有一个主键StudentID (INT IDENTITY)Address有一个AddressID (INT IDENTITY)Student还有一个称为AddressID链接到Address表的 FK。

我的想法是创建两个类,每个表一个,具有我感兴趣的属性。此外,我在 C# 中的类中放置了一个类型的PrimaryAddress属性。AddressStudent

然后,我尝试在单个查询中同时检索学生和地址数据——我模仿了Github 页面上给出的示例:

在这里,aPost和 aUser被检索,并且帖子的所有者设置为用户 - 返回的类型是 a Post- 对吗?

因此,在我的代码中,我为通用Query扩展方法定义了两个参数——aStudent作为第一个应该返回的参数,anAddress作为第二个参数,它将存储到学生实例中:

问题是 - 我在 Visual Studio 中遇到错误:

使用通用方法 'Dapper.SqlMapper.Query(System.Data.IDbConnection, string, System.Func, dynamic, System.Data.IDbTransaction, bool, string, int?, System.Data.CommandType?)' 需要 6 个类型参数

我真的不明白为什么 Dapper 坚持使用这个带有 6 个类型参数的重载......

0 投票
9 回答
56901 浏览

dapper - 多映射器创建对象层次结构

我一直在玩这个,因为它看起来很像记录的帖子/用户示例,但它略有不同并且不适合我。

假设以下简化设置(一个联系人有多个电话号码):

我很想得到一个返回带有多个电话对象的联系人的东西。这样,如果我有 2 个联系人,每个联系人有 2 部电话,我的 SQL 将返回这些联系人的连接作为结果集,总共 4 行。然后 Dapper 会弹出 2 个联系人对象,每个对象有两部手机。

这是存储过程中的SQL:

我尝试了这个,但最终得到了 4 个元组(这没关系,但不是我希望的......这只是意味着我仍然必须重新规范化结果):

当我尝试另一种方法(如下)时,出现“无法将'System.Int32'类型的对象转换为'System.Collections.Generic.IEnumerable`1 [Phone]'”的异常。

我只是做错了什么吗?它看起来就像帖子/所有者的例子,除了我是从父母到孩子而不是孩子到父母。

提前致谢

0 投票
2 回答
3563 浏览

.net - 嵌套多重映射的 Dapper 语法

这是我的存储过程,它从数据库中填充数据。

我试图在简洁的查询下面写,但得到一个异常

我尝试使用以下概念,但它只返回单个对象。我需要一份人员名单。

提前致谢。

0 投票
1 回答
811 浏览

c# - Dapper.NET 多映射 TSecond Deserializer 为空

我正在尝试使用 Dapper 执行非常标准的多映射查询,但出现以下错误。当这似乎有效时,我偶尔也会遇到另一个错误,但我目前无法重现它。如果/当第一个问题得到解决,我会将其附加到这篇文章中。

下面是查询代码:

在 Dapper.cs 第 498 行:

info.OtherDeserializers 为 null,这会导致 NullReferenceException。

这是存储过程的核心:

我对小巧玲珑的代码进行了广泛的研究,但除了 TFirst 的反序列化器不为空,但 TSecond 的反序列化器为空之外,我找不到任何看起来不合适的东西。当它创建 TSecond 的反序列化器将其保留为空时会不会有问题?

以下是类型:

0 投票
1 回答
1773 浏览

c++ - 如何迭代地图的 C++ 地图

我有一张地图

迭代它:

导致错误:

/blockquote>

如何迭代地图的地图?

0 投票
1 回答
3745 浏览

c# - 使用 Dapper 从 T-SQL 视图填充对象

我正在尝试使用 Dapper 进行数据访问(在 ASP.NET MVC3 FWIW 中)。我有一个 T-SQL 视图(在 SQL Server 中),它是这样的:

非常简单。本质上是一个员工列表,每个员工都有一个公司。

我遇到的问题是我正在尝试将此查询的输出映射到我的 POCO,但是因为视图中的每个字段都必须是唯一的(即 CompanyName 而不是 tblStaff 中已经存在的 Name)映射到 POCO不工作。

这是代码:

有什么建议我可以如何解决这个难题?我愿意改变我的观点,因为现在我对如何进步感到困惑。

0 投票
2 回答
5944 浏览

c# - 将 Dapper 查询映射到对象集合(它本身有几个集合)

我想执行单个查询(或具有多个结果集的存储过程)。我知道如何使用 Dapper 进行多重映射,但我无法排序如何将两个集合映射到同一个父级。基本上,给定这个对象定义......

我希望能够运行以某种方式产生的 Dapper 查询:

0 投票
6 回答
105713 浏览

java - 如何实现这个地图> 结构

我有如下数据:

(上面的每一行数据都是一个对象,字段为“key”和“value”,都在一个 List 中List<DataObject>

我想将数据构建为Map<String, List<String>>如下所示:

如何Map从数据对象中实现上述结构?

** * ***除了* ** * **

我更感兴趣的是使用纯 JDK 提供的类或接口来实现结果,而不是使用外部库。有什么帮助吗?

0 投票
0 回答
1175 浏览

dapper - Dapper 可以在使用连接表时加载 Multi-Mapping 结果吗?

我有一个包含许多连接对象的应用程序对象。这在 .Net 世界中很棒,但不幸的是,连接是通过具有复合键的连接表来管理的。是否可以使用多映射方法在 dapper 中进行映射?

现在我只使用两个单独的 sql 语句,但它并不适合我(来自 EF 方面)。这是我尝试过但无法开始工作的一些代码...

我不断收到的错误是“使用 splitOn”错误,但我确信这只是冰山一角。如果有人有任何想法,我会全力以赴。

0 投票
1 回答
986 浏览

dapper - Dapper > 多重映射无法正确地将位映射到布尔值

我有以下代码:

两个“connection.Query”执行相同的 SQL。不同之处在于第一个返回一个 DapperRows 列表,而第二个是一个通用的 Query<> 自动映射实体。

现在,在第一个 .Query() (返回 DapperRows 列表)中,布尔属性(dB 中的位)“FillImmediately”和“FillCompletely”在类中是真还是假,具体取决于它们是“1”还是“0” “在数据库中。所以效果很好。

但是,当使用 .Query<>() 时,这两个属性始终为“假”。似乎 .Query<>() 无法正确地将位映射到布尔值。

截至今天,我正在使用最新版本的 Dapper (1.42) 和 SQL Server 2008

想法?