问题标签 [dapper-rainbow]

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 投票
3 回答
34541 浏览

orm - Dapper.Rainbow VS Dapper.Contrib

有人可以解释一下Dapper.RainbowDapper.Contrib之间的区别吗?

我的意思是你什么时候使用 Dapper.Contrib 的 SqlMapperExtensions.cs,什么时候应该使用 Dapper.Rainbow?

0 投票
1 回答
1758 浏览

c# - 如何让 Dapper.Rainbow 在 SQLite 上使用 AutoIncrement 插入表?

我在 SQLite 上创建了一个示例表,该表具有一个自动递增的 Id 列。

但是当我第二次尝试插入时,出现以下错误:

由于违反约束而中止 PRIMARY KEY 必须是唯一的

这是我的代码

关于我在这里做错了什么的任何想法?

编辑

SQlite 上的 INTEGER 列的类型为 int64(long)

0 投票
4 回答
919 浏览

dapper - Dapper Rainbow - 如何在另一个模式中指定表名

我对 Dapper Rainbow 很陌生,所以我可能会遗漏一些明显的东西。是否可以指定表名,如果可以,如何指定?

我试过以下没有运气。

0 投票
1 回答
1386 浏览

c# - 小巧的彩虹 MissingMethodException

为什么我会得到这个异常?代码不一样,但接近“演示” https://gist.github.com/1599013

异常:MissingMethodException

描述:

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

代码

0 投票
1 回答
1968 浏览

c# - 在插入时禁用 dapper.rainbow 使用 ID

我正在使用 dapper.rainbow 将记录插入 MSSQL 数据库。以下是我的代码

当我运行我的应用程序时,出现以下异常。

我认为 dapper.rainbow 在插入期间为我的标识列使用了值(int 的默认值)。这就是导致此异常的原因。我的表的标识列RoomTypes是自动递增的,它也是我的表的主键。

现在,我如何阻止 dapper.rainbow 在插入期间使用 ID 列。

0 投票
3 回答
17122 浏览

c# - 小巧玲珑。映射到列名中带有空格的 SQL 列

我今天已经设法将一些东西作为小型沙盒/POC项目启动并运行,但似乎在一个问题上碰到了我的头......

问题:

有没有办法让 dapper 映射到带有空格的 SQL 列名。

作为我的结果集,我有这样的效果。

例如:

我的课看起来像这样

我的实现目前看起来像这样

注意:不能以任何方式修改 SQL。

目前我正在浏览简洁的代码,我唯一可预见的解决方案是添加一些代码来“说服”列比较,但到目前为止还没有太多运气。

我在 StackOverflow 上看到有类似 dapper 扩展的东西,但我希望我可以在不添加扩展的情况下完成这项工作,如果没有的话。我会采取最快的实施方式。

0 投票
1 回答
5248 浏览

c# - 具有现有数据库架构的 Dapper.Rainbow

我正在尝试 Dapper。我喜欢我到目前为止所看到的。为了做简单的 CRUD,我使用 Dapper.rainbow。它工作得很好。但是,它仅在表具有名称为Id的标识列时才有效。拥有这样的数据库是有道理的,但我不能仅仅为了使用 Dapper 就要求更改数据库中的列名。更清楚地说,我正在使用像 Northwind Db 这样的数据库。它在 Id 列中到处都有重复的表名。

为了处理这个问题,我改变了 Dapper.Rainbow 代码如下:

有没有更好的方法来处理这个问题,比如列映射/注释或完全不同的东西?

我读过这样的问题

使用类属性手动映射列名

Dapper.Rainbow VS Dapper.Contrib

(我遇到了与 Dapper.Contrib 类似的小问题,我会单独问)。

更新- 不确定答案是否适用于我的 Dapper.Rainbow 问题(至少,我不知道如何)。

提前感谢您的帮助!

0 投票
2 回答
6163 浏览

orm - 如何使用 Dapper.Rainbow(或可选地使用 Dapper.Contrib)对具有导航属性的对象进行插入和更新

我最近才开始研究 Dapper。我正在对其进行测试,并且能够进行基本的 CRUD,我所说的基本的意思是在具有这种结构的类上工作:

现在我正在寻找可以更轻松地进行插入和更新的东西,并找到了 Dapper.Rainbow。我检查了它,并能够使用它来获取和插入如上所述的对象。我的问题是,当Product有导航属性时,我无法在该字段上进行插入。所以如果我有这个:

我将无法做到这一点:

因为这个原因:

Category如果我替换为类型int(数据库中的相同数据类型),问题就可以解决。但是,如果我这样做,我将无法使用其类别信息查询产品,而不仅仅是(类别)ID。

因此,如果不使用原始 Dapper,我如何使用具有导航属性的类进行插入和更新?我希望我可以执行以下操作并告诉 Dapper.RainbowCategory在插入或更新时忽略。

这种情况在 NHibernate 中是可能的,我可以有一个代理对象Category并将其分配给Product并保存它,并且映射工作完美。但我很想使用 Dapper,这就是为什么我正在探索并想了解如何完成这样的事情。

0 投票
1 回答
542 浏览

c# - 使用 Dapper.Rainbow 插入表“用户”

我正在使用 Dapper.Rainbow 并在插入名为“用户”的表时遇到了问题。

我可以让其他表完美地工作,但是当尝试插入Users表时它会失败。

[ ]我使用了 Sql Query 检查器来确定生成的查询在表名周围没有任何内容。一旦我用方括号重新制作查询,它​​就可以正常工作。

当我使用Table<User>(this, "[Users]");它时,它将私有属性设置likelyTableName为正确的值([User])。

但是,一旦database.Init(dbconn,3);它将likelyTableName字符串更改回User.

我一直在检查 Dapper-dot-net Github 项目,并查看了 dapper.rainbow 的 database.cs 源代码,但我不知所措,因为它的一部分在 IL 中。

有没有办法让 dapper.rainbow 使用名为User??的表?

0 投票
5 回答
32863 浏览

dapper - 忽略模型属性上的属性

如何使用 dapper/dapper extensions/dapper rainbow 或任何方法忽略模型上的属性

那些精巧的图书馆?