问题标签 [dapper]

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 投票
4 回答
2962 浏览

.net - .NET SqlConnection 和 SqlCommand

我在 Dapper ORM 的项目中使用 SqlConnection 和 SqlCommand 类,但我遇到了一个奇怪的问题。当我使用 SqlCommand 在 db 表中插入一行时,它总是正常工作,当我选择更新的数据表单表时,一切都很好,但是关闭应用程序后我所做的更改并没有提交,就像数据已保存在某个缓存中一样。例如,我创建了一个只有两列(UserId (PK) 和 UserName (Unique))的简单表,即使在这种情况下也不会保存更改。我正在使用以下代码插入一行:

0 投票
6 回答
20622 浏览

c# - 使用 Dapper 将字符串映射到 guid

我正在使用 Dapper 敲定一些需要访问 PostgreSQL 数据库的负载测试工具。这个特定版本的 PostgreSQL 本身不支持 GUID,因此 GUID 值存储为 32 个字符串。使用 将值转换为字符串someGuid.ToString("N"),可以使用 转换回 Guid new Guid(stringValueFromColumn)

我的问题是如何让 Dapper 读取字符串并将它们转换回 Guid?

我尝试修改 DbType 映射,但这不起作用。

0 投票
2 回答
8547 浏览

vb.net - Dapper ORM 分页和排序

我正在尝试使用 Dapper ORM。我可以使用以下代码从表中查询数据:

我有兴趣了解如何使用 Dapper 进行分页/排序。EF 有“skip”和“take”来帮助解决这个问题。我知道微型 ORM 没有内置此功能,但想知道实现此功能的最佳方法。

0 投票
9 回答
282744 浏览

c# - 使用 Dapper 执行插入和更新

我对使用 Dapper 很感兴趣——但据我所知,它只支持查询和执行。我没有看到 Dapper 包含插入和更新对象的方法。

鉴于我们的项目(大多数项目?)需要进行插入和更新,与 dapper 一起进行插入和更新的最佳实践是什么?

最好我们不必求助于 ADO.NET 的参数构建方法等。

此时我能想到的最佳答案是使用 LinqToSQL 进行插入和更新。有更好的答案吗?

0 投票
6 回答
156984 浏览

.net - 有没有办法用 Dapper 调用存储过程?

我对 stackoverflow.com的Dapper Micro ORM的结果印象深刻。我正在为我的新项目考虑它,但我担心有时我的项目需要存储过程,我在网上搜索了很多,但没有找到任何存储过程。那么有什么方法可以让 Dapper 使用存储过程呢?

请让我知道是否有可能,否则我必须以我的方式扩展它。

0 投票
3 回答
7586 浏览

c# - 使用 dapper 时 sql 放在哪里?

我在工作中将 dapper 用于 mvc3 项目,我喜欢它。但是,在使用 dapper 时,您应该如何对应用程序进行分层?目前我只是将我所有的 sql 都直接填充到控制器中(slap),但我正在考虑用静态字符串创建一个类。所以我可以做

使用 dapper 时如何存储 sql?

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 投票
1 回答
1176 浏览

orm - Dapper 会自动选择匹配属性的列吗?

使用 Dapper-dot-net 时,如果您查询强类型的结果,并且您的 SQL 仅具有:

Dapper 会自动只对与对象中的字段匹配的列进行选择吗?我认为 PetaPOCO 做到了这一点,但我遇到了一些我认为归因于这种不匹配的 dapper 问题。

例子,

如果表包含与对象Article无关的其他列,这会起作用吗?article

0 投票
6 回答
32921 浏览

sql - Dapper 是否支持 like 运算符?

使用 Dapper-dot-net...

以下在数据对象中不产生任何结果:

但是,当我只使用常规字符串格式时,例如:

我在集合中得到了 25 行。Dapper 是否没有正确解析参数的结尾@T

0 投票
1 回答
5199 浏览

c# - 如何在 Dapper 中为多映射支持命名列?

结果是:

CategoryId 和 CategoryName 具有以下值

结果是:

如果这与它有任何关系,我将连接到 MySQL 数据库。