问题标签 [dapper-extensions]

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

join - 在 SqlMapper.Query 中映射 SQL 列对属性进行分类

首先,我对 dapper.net 没有太多经验,也许这个问题有简单的解决方案。

我想使用多映射功能。

我简化了我的问题。

我有 2 张桌子。

第一张桌子

汽车

列:

  • CARD_ID (PK)
  • CAR_LOCATION
  • CAR_STATUS

第二张桌子

品牌

列:

  • 身份证(PK)
  • CARD_ID (FK)
  • 品牌
  • BRAND_LOGO

我需要执行这个查询:

SQL_CMD:

在 .NET 应用程序中,我将这些表映射到 2 个 POCO 类上。

当我在上面查询 sql cmd 时:

我得到空的结果。

恕我直言,问题在于在类属性上映射 SQL 列,因为如果我将 prop Card.CarId 更改为 Car.CAR_ID,则此属性已填充。

有什么办法可以将“SQL 列”映射到类属性中SqlMapper.Query<T1,T2,TReturn>的类属性?

我知道存在,ClassMapper但我没有找到在这种情况下使用的方法。

谢谢

编辑:

我尝试添加映射类,但不起作用

添加映射程序集

并在此设置后执行查询

正如我所说的不起作用,对象的属性是空的,但如果我尝试简单的插入、更新或删除,它就可以工作。

我现在很困惑哪里可能是问题的根源。

0 投票
1 回答
1614 浏览

c# - 将 DapperExtensions 用于“GetList”时引发异常

我认为 DapperExtensions 有一个非常简单的用例:

但是,抛出异常:

找不到方法:'System.Collections.Generic.IEnumerable 1<System.__Canon> Dapper.SqlMapper.Query(System.Data.IDbConnection, System.String, System.Object, System.Data.IDbTransaction, Boolean, System.Nullable1,System.Nullable`1)'。

我将 NuGet 用于 Dapper (v1.13) 和 DapperExtensions (v1.4.3)。

任何想法为什么这不起作用?我补充说:

不过,这并不影响结果。(Resharper 还抱怨说 using 指令是不必要的。)

当我直接使用 Dapper 时,它运行良好(尽管我注意到我使用它的方式与 DapperExtensions 不同):

我做了一些“谷歌搜索”,似乎共识是 DapperExtensions 应该是一个简单有趣的东西。

0 投票
1 回答
828 浏览

c# - 如何使用 Dapper Extension 更新数组?

我从数据库中获取我的实体列表,更改一些属性并尝试在数据库中更新。

我也试过:

我得到InvalidOperationException:已经有一个与此命令关联的打开的 DataReader 必须先关闭。

我对其他操作没有任何问题。

我怎样才能正确更新它?

0 投票
3 回答
13170 浏览

c# - Dapper 插入到具有复合 PK 的表中

我有一个表,其主键由两列组成,这两列都不是自动递增的,而且我的 Dapper 插入(Dapper 扩展的一部分)在插入时失败,说两列中的第一列不允许 null ,即使我传入的值也不为空。

Student

C#:

错误:

无法将值 NULL 插入到列“StudentId”、表“dbo.Student”中;列不允许空值。插入失败。

出于某种原因,Dapper 没有得到StudentId值为 5 的值。我是否必须为组合了 PK 的表或具有自动递增 PK 的表做一些特别的事情?谢谢。

0 投票
1 回答
2994 浏览

orm - 带有 GUID Id 的简洁 CRUD

我对 Dapper 和 Dapper.SimpleCRUD ( https://github.com/ericdc1/Dapper.SimpleCRUD ) 很陌生,所以如果我有点密集,请原谅。我有一个使用 GUID Id(主键)而不是自动递增的 int Id 的现有数据库。似乎 Dapper/SimpleCRUD 假定后者。我想我可能能够找到一个替代方案(也许是小巧的扩展?)但我想知道是否有人遇到过这个并对其进行了调整/找到了其他解决方案。Dapper Extensions ( https://github.com/tmsmith/Dapper-Extensions ) 似乎也基于 int Id。您的建议表示赞赏。

0 投票
1 回答
357 浏览

c# - Dapper.Contrib 使用 ROWLOCK 生成更新脚本

我使用 Dapper 作为 ORM 并通过 Dapper.Contrib 扩展生成插入、更新脚本。我想生成包含 Rowlock 的更新脚本。除了在 SqlMapperExtensions 中更改下面的通用代码外,还有其他用途吗?

0 投票
1 回答
1621 浏览

c# - 使用 Dapper Extensions,可以在插入 IEnumerable 时检索 ID

如果一个对象一次插入 1 个,则可以从该对象中获取 Id:

但是,如果插入了 IEnumerable 对象,则无法正确获取 Id:

有没有一种方法可以插入对象列表并且仍然可以在不一次插入 1 的情况下取回 Id?

0 投票
1 回答
426 浏览

c# - 如何在 dapper 中包含具有通用列表属性和引用类型属性的对象?

我的课是:

多重映射或我已经尝试过的多个结果是不可能的。你如何在 Dapper 中做到这一点?如果我可以使用多重映射或多重结果或任何其他选项,我想要实现的不是往返于获取地址和银行账户的数据库。

0 投票
2 回答
897 浏览

sql - Dapper.Tvp 程序集没有强名称

最近我在使用 Dapper.Net,到目前为止,使用 sql 进行动态对象操作非常棒,Dapper 团队的工作很棒。

但是需要进行批量插入和更新,我使用了性能更好的表值参数,我决定为此目的使用 dapper.tvp。所以我按照以下步骤

  1. 使用 nuget 命令 Install-Package Dapper.Tvp 添加了 Dapper.Tvp 程序集

  2. 然后,当我尝试构建项目时,它给了我以下错误“引用的程序集 Dapper 没有强名称”

请就这个问题给我建议并感谢您的帮助

0 投票
1 回答
1472 浏览

tsql - 没有映射到对象的 Dapper QueryMultiple 存储过程

使用 dapper,我可以对存储过程进行批量执行,类似于:

但是,到目前为止,我所看到的检索数据的唯一方法是使用

如果结果没有映射到对象怎么办?例如,我正在编写“通用”代码来执行任何带有可变输入/输出参数和结果集的 SP。

谢谢