问题标签 [micro-orm]

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 回答
7147 浏览

c# - PetaPoco - 多结果集支持

我的工作最近开始使用PetaPoco,虽然很棒,但我错过了Dapper允许将单个查询中的多个结果网格处理成 pocos 的功能。

结果,我编写了自己的实现PetaPoco- 如下所示 - 但是有没有人自己编写并愿意分享它?

我想可能还有其他人错过了这个功能。

0 投票
4 回答
15700 浏览

c# - Dapper:是否可以自定义特定类型的特定字段的类型映射?

假设我有这个User课程:

我想映射到下表:

或者用更简单的话来说:我想将 DateTime 属性作为 int 字段存储在数据库中。但是,此类/表就是这种情况。其他类/表的映射可能不同。我正在考虑与类型或成员映射相结合的自定义转换函数。

是否有可能使用 Dapper 实现这一目标,如果可以,如何实现?

0 投票
2 回答
579 浏览

oledb - 无法在 Insight.Database 中绑定参数

我正在尝试将参数绑定到存储库中的 SQL 查询,但出现错误

我得到一个 OleDb 异常。

SQL0313: 主机变量数无效。原因 。. . . . : 在 EXECUTE 或 OPEN 语句中指定的 SQLDA 或描述符区域中的主变量或条目的数量与在准备好的 SQL 语句 S000001 中指定的参数标记的数量不同。如果语句名称为 *N,则在 OPEN 语句中指定了 SQLDA 或描述符区域中的主变量或条目数,并且与游标 C000001 的 DECLARE CURSOR 语句中指定的主变量数不同。恢复 。. . : 将 USING 子句中指定的主变量数或 SQLDA 或描述符区域中的条目数更改为等于准备好的 SQL 语句中的参数标记数或 DECLARE CURSOR 语句中的主变量数。再次预编译程序。

我用过 ?'?'用于参数绑定,因为OleDb具有位置参数,由'@parameterName'.

任何帮助表示赞赏。

0 投票
2 回答
2571 浏览

c# - 无法使用 Dapper 运行更新语句(参数错误)

我正在尝试使用 Dapper 更新一行,但在更新语句中指定参数时出错

存储库.cs

电影.cs

我正在使用iDB2Connection访问 IBM ISeries 数据库。

0 投票
1 回答
304 浏览

c# - 如何使用 petapoco 更新另一个表中的主键也是外键?

我如何更新User.Id属性PetaPocouser.Update("set id = @NewId where id = @OldId",new { NewId = new_id,OldId = id}); 不工作 。

0 投票
1 回答
263 浏览

c# - 仅通过对象时有任何小巧的性能差异吗?

所以我最近在一些项目中使用了 dapper,我很好奇以下示例之间是否存在任何性能差异:

对于具有许多属性 30+ 的对象,明确说明属性而不是让它自己弄清楚有什么好处?

选项1:

选项 2:

我只是好奇手动提供值是否有任何好处,或者我是否可以传递对象并让 Dapper 拥有它的方式。

特别是随着列表开始增长:

选项 1b

选项 2b。

0 投票
1 回答
936 浏览

dapper - 您可以在 SqlFu 中映射列名吗?

关于这个微型 ORM 的其他一切看起来都很棒,除了我不知道如何映射列名,比如

我错过了什么?谢谢

0 投票
2 回答
6064 浏览

c# - 在 Dapper 中管理与非缓冲查询的连接

我最近开始使用Dapper,一切看起来都很好而且很简单,但有一件事让我一直感到困惑:连接管理。

根据文档

Dapper 不管理您的连接的生命周期,它假定它获得的连接是打开的并且没有现有的数据读取器枚举(除非启用 MARS)

鉴于此,我开始在我的存储库方法的实现中这样做:

然后我遇到了一个包含大量记录的表,所以我想IEnumerable<T>通过传递buffered: falseQuery<>方法返回一个,当我开始在前端枚举可枚举时,发出一个异常,说连接已关闭并处置,这是预期的因为我用前面的 using 块包装我的电话。

问题:解决这个问题的最佳方法?
附带问题:我管理连接的方式是首选方式吗?

0 投票
1 回答
546 浏览

micro-orm - 使用 Insight.Database 微 ORM 时未实现异常

我试图使用很酷的 Insight.Database 微 ORM 并在每次尝试调用 CustomerRepository 中的 InsertCustomer 方法时遇到未实现的异常。任何帮助将不胜感激

更新:我确保方法名称与 sql server 存储过程名称匹配

0 投票
1 回答
701 浏览

sql-server - 试图了解 Dapper 使用的 DB Connection 的不稳定行为

我需要一些帮助来更好地理解 Dapper 如何处理数据库连接,以及为什么没有正确处理数据库连接。我已经围绕不同的可能情况进行了编码。在我的代码中,我正在检查 _connection 是否为空,并相应地创建一个新连接。在处理请求时,我发现有时连接处于打开状态,而有时我发现对象中缺少连接字符串(使其无法使用,但未将其设置为 NULL)。我正在相应地处理这些情况,但想了解为什么连接具有这些不同的状态,并且即使客户端代码明确实现using语句来包装代码。是 ADO.net 对连接的处理,是 Dapper 的副作用还是我的代码有问题?

连接管理代码

客户端代码