问题标签 [dapper-contrib]

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

dapper - 使用 Dapper.Contrib 和 InsertAsync 编写通用 InsertData 方法

我对 C# 和 Dapper 还很陌生。我正在尝试为我的项目编写一个通用的插入数据方法。我来自 Delphi 环境,所以我仍然在 C# 中寻找方法。

Dapper 似乎使用起来相当简单,但我遇到了一些挑战。我已经尝试了使用以下代码正确获取语法的所有方法,但均未成功。

问题似乎与T相关(我仍然完全不明白T是什么)并且我尝试过的所有组合都不起作用。

以下代码确实有效,那么我哪里出错了?

0 投票
2 回答
570 浏览

dapper - 如何使用 Dapper.Contrib 和 FluentMap 来更新具有标识列的实体?

我有一个名为 的类Business,它的属性Id是 MS SQL Server 数据库中的标识字段。当我做一个INSERT,它工作正常。如果我执行以下操作:

我收到一个错误:

无效的列名“id” 数据库中的列是 BusinessId

我已将其映射到Id如下:

现在记住我的INSERT作品。我尝试将Key属性添加到类

我的工作(我讨厌,但总比没有好):
我决定只打电话给 SP 来做这件事,这有点糟糕,因为我希望 dapper 可以处理这个问题。

我不知道为什么我们被迫得出结论,我们数据库中的每个身份列都被命名为“ID”,这在我看来很可笑,而且我认为我不需要证明我的架构设计是合理的,它应该让我改变它。现在,无论何时添加一个字段,我都必须更改 SP 和调用 SP 的代码,我将使用它,直到找到真正的答案。

0 投票
1 回答
247 浏览

c# - 如何获取使用 Dapper.Contrib 插入的新记录的 GUID 键?

我有这样的代码:

类型的键myObject是 type System.Guid

然后我想插入将使用该键与他们的父母相关的子对象。

Guid当插入发生时,我正在通过 SQL Server 为记录分配一个新的。

获取新记录的 ID 以便我可以将其填充为子对象的外键的最佳方法是什么?该Dapper.Contrib.Extensions.Insert方法返回 a long,那么有没有办法让它与 a 一起工作Guid

0 投票
2 回答
219 浏览

postgresql - Npgsql.PostgresException 42703:关系“帖子”的“创建”列不存在

目前我正在使用 .NET Core 和 PostgreSQL 做一个小项目。对于我的数据访问,我想使用Dapper.Contrib. 现在,我面临以下问题:

下面的代码片段显示了CREATE_DATABASE.sql

以下是我在 .NET Core 中的模型类

insert 方法看起来像这样(它在基类中。在这种情况下,T 是 Post 的类型):

尝试插入Post对象时,遇到以下错误:

设置为时NpgsqlLogManager.Provider会记录new ConsoleLoggingProvider(NpgsqlLogLevel.Trace, true, true);以下INSERT语句:

那么,问题出在哪里呢?我认为Dapper.Contrib在属性方面做得很好,但显然不是。

有谁知道如何解决这个问题,除了将模型属性重命名为小写?

到目前为止谢谢。

0 投票
0 回答
29 浏览

c# - Dapper.Contrib 如何优雅地特殊列名

这样不行,后来找到了下面的方法,但是写起来很麻烦。Fluentmapper.initialize 性能每次都必须执行

我想知道是否有更优雅的方式,比如在实体上贴一个标签,比如“ColumnAttribute”