问题标签 [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.
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
但我没有找到在这种情况下使用的方法。
谢谢
编辑:
我尝试添加映射类,但不起作用
添加映射程序集
并在此设置后执行查询
正如我所说的不起作用,对象的属性是空的,但如果我尝试简单的插入、更新或删除,它就可以工作。
我现在很困惑哪里可能是问题的根源。
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.Nullable
1,System.Nullable`1)'。
我将 NuGet 用于 Dapper (v1.13) 和 DapperExtensions (v1.4.3)。
任何想法为什么这不起作用?我补充说:
不过,这并不影响结果。(Resharper 还抱怨说 using 指令是不必要的。)
当我直接使用 Dapper 时,它运行良好(尽管我注意到我使用它的方式与 DapperExtensions 不同):
我做了一些“谷歌搜索”,似乎共识是 DapperExtensions 应该是一个简单有趣的东西。
c# - 如何使用 Dapper Extension 更新数组?
我从数据库中获取我的实体列表,更改一些属性并尝试在数据库中更新。
我也试过:
我得到InvalidOperationException:已经有一个与此命令关联的打开的 DataReader 必须先关闭。
我对其他操作没有任何问题。
我怎样才能正确更新它?
c# - Dapper 插入到具有复合 PK 的表中
我有一个表,其主键由两列组成,这两列都不是自动递增的,而且我的 Dapper 插入(Dapper 扩展的一部分)在插入时失败,说两列中的第一列不允许 null ,即使我传入的值也不为空。
表Student
:
C#:
错误:
无法将值 NULL 插入到列“StudentId”、表“dbo.Student”中;列不允许空值。插入失败。
出于某种原因,Dapper 没有得到StudentId
值为 5 的值。我是否必须为组合了 PK 的表或具有非自动递增 PK 的表做一些特别的事情?谢谢。
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。您的建议表示赞赏。
c# - Dapper.Contrib 使用 ROWLOCK 生成更新脚本
我使用 Dapper 作为 ORM 并通过 Dapper.Contrib 扩展生成插入、更新脚本。我想生成包含 Rowlock 的更新脚本。除了在 SqlMapperExtensions 中更改下面的通用代码外,还有其他用途吗?
c# - 使用 Dapper Extensions,可以在插入 IEnumerable 时检索 ID
如果一个对象一次插入 1 个,则可以从该对象中获取 Id:
但是,如果插入了 IEnumerable 对象,则无法正确获取 Id:
有没有一种方法可以插入对象列表并且仍然可以在不一次插入 1 的情况下取回 Id?
c# - 如何在 dapper 中包含具有通用列表属性和引用类型属性的对象?
我的课是:
多重映射或我已经尝试过的多个结果是不可能的。你如何在 Dapper 中做到这一点?如果我可以使用多重映射或多重结果或任何其他选项,我想要实现的不是往返于获取地址和银行账户的数据库。
sql - Dapper.Tvp 程序集没有强名称
最近我在使用 Dapper.Net,到目前为止,使用 sql 进行动态对象操作非常棒,Dapper 团队的工作很棒。
但是需要进行批量插入和更新,我使用了性能更好的表值参数,我决定为此目的使用 dapper.tvp。所以我按照以下步骤
使用 nuget 命令 Install-Package Dapper.Tvp 添加了 Dapper.Tvp 程序集
然后,当我尝试构建项目时,它给了我以下错误“引用的程序集 Dapper 没有强名称”
请就这个问题给我建议并感谢您的帮助
tsql - 没有映射到对象的 Dapper QueryMultiple 存储过程
使用 dapper,我可以对存储过程进行批量执行,类似于:
但是,到目前为止,我所看到的检索数据的唯一方法是使用
如果结果没有映射到对象怎么办?例如,我正在编写“通用”代码来执行任何带有可变输入/输出参数和结果集的 SP。
谢谢