问题标签 [dapper-simplecrud]
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.
c# - 没有身份的 Dapper.SimpleCRUD 插入问题
我有表用户
用户类
代码
上面的代码抛出空异常。具有身份的表工作正常。
堆栈跟踪:
在 Dapper.SimpleCRUD.Insert[TKey](IDbConnection 连接,对象 entityToInsert,IDbTransaction 事务,Nullable`1 commandTimeout)
错误信息:
Dapper.SimpleCRUD.dll 中出现“System.Exception”类型的异常,但未在用户代码中处理附加信息:无效的返回类型
dapper - Dapper SimpleCRUD 自定义处理程序被忽略
如果我使用SimpleCRUD即执行查询connection.GetList<_type>();
,那么我的自定义类型处理程序将永远不会执行。如果我直接使用 执行相同的查询connection.Query<_type>(queryString)
,那么我的自定义处理程序会被调用而不会出现任何问题。难道我做错了什么?我可以看到 SimpleCrud 也只是调用Dapper.Query<T>
. 我似乎无法找到我的问题。
entity-framework - 如何在 ORM 中将我的代码设置为 DB First
我研究过使用 EF、nHibernate 和 Dapper/Dapper.SimpleCRUD。在他们中,我无法弄清楚如何代表我的数据库(SQL Server 2012)模型的用例。我正在使用 C# 4.0/.NET 4.0 中的网格(由于技术限制)构建一个 ASP.NET 网站,该网站将具有 CRUD 功能,网格的初始状态由下拉菜单设置。
我的两个表是这样设置的:
Distribution 和 Address_Book 之间存在多对一关系,其中 Address_book.EntryID = Distribution.EntryID。
任何有关如何设置的帮助将不胜感激。我在手动管理 CRUD 操作时遇到问题,所以我认为 ORM 会有所帮助,但我无法弄清楚。任何帮助表示赞赏。
提前致谢!
c# - 如何为多租户表配置 Dapper?
我有多租户表结构,而每个表都有TenantId
,并且我使用Dapper作为唯一的 ORM 以及SimpleCRUD(助手位于顶部dapper
)。如果可能(默认情况下)我更喜欢每个Read Query
必须自动传递TenantId
,parameter
否则害怕有机会忘记。
想知道其他人是如何解决这个案子的吗?有没有有效的方法来解决这个问题?
c# - Dapper.SqlMapper.AddTypeHandler 似乎没有被 Postgres SimpleCRUD where 子句调用
我刚刚在使用 Dapper 和 SimpleCRUD 的系统上从 Npgsql v2.2.3 升级到 v3.2.4.1(现在是 V3.2.5)——其他缺席的开发人员定制了后者的版本。这不是我真正的领域——我只是想在 v3 支持下做一些 PostGIS 位......
我们有一个自定义版本的 DateTime,在 Npgsql v3.x 更严格的类型下,要求我们将 NpgsqlDbType 设置为 NpgsqlTypes.NpgsqlDbType.Timestamp。这是通过 SimpleCRUD 代码中的 Dapper.SqlMapper.AddTypeHandler 完成的。自定义版本强制日期时间类型为 UTC。
虽然这对数据库插入按预期工作,但在使用 WHERE 子句时似乎没有被调用 - 不确定它是否只是在孤立的情况下,或者只是在一个或两个地方。
我可以从 Postgres 日志中看到,WHERE 子句的参数正在针对 UTC/Local 转换进行调整:参数:$1 = '2017-07-27 13:29:51+01'
通过断点,我还可以看到类型处理程序不是为 WHERE 子句输入的,而是为 INSERT 等输入的。
问题:
我是否应该期望为 WHERE 子句参数调用 Dapper.SqlMapper 类型处理程序?
如果不是预期的行为,我如何在使用 Dapper.SimpleCRUD 时将 NpgsqlDbType 强制为 NpgsqlTypes.NpgsqlDbType.Timestamp?
非常感谢
我已经更新到 Npgsql (3.2.5) 和 Dapper (1.50.2) 的最新 NuGet 包。不确定 Dapper.SimpleCRUD 的起源,但它会在 2014 年开始使用,然后看起来可能被大量定制,因此宁愿继续这样做,而不是升级并重新添加定制。
c# - Dapper w/ SIMPLECrud:GetList 与 WHERE 的行为类似 LIKE 而不是 =
我有这个方法:
我这样称呼它:
该GetList()
方法调用 SIMPLECrud .dll,它是 Dapper 的包装器。
这很好用。但这是真正奇怪的事情。如果我在 guid 的末尾添加一些额外的字母或数字publicID
,它仍然有效:
代替:
我愿意...
我得到完全相同的结果。如果我使 guid 更短,或者如果我更改其中的字符,那么它会按预期运行。
我在这里做错了什么?
dapper-simplecrud - SCOPE_IDENTITY 异常
我一直在评估使用 dapper 和 sqlite 的 simplecrud 扩展。无论我在插入表格时尝试什么,都会失败并出现异常
没有这样的功能 SCOPE_IDENTITY
表类
最简单的测试代码
如前所述,当我运行代码时,数据被插入到表中,但程序以SCOPE_IDENTITY
异常终止。
任何帮助将不胜感激
c# - Dapper / SimpleCRUD Insert with VARCHAR 主键抛出 FormatException - “字符串格式不正确”
我正在尝试使用 dapper 和 simplecrud 插入 postgresql 数据库。
我的实体有一个 VARCHAR 主键,我理解这意味着我必须在我的 POCO 中包含 [Key] 和 [Required] 标签。
当我使用
我得到一个 System.FormatException。“字符串格式不正确”。查看堆栈跟踪,我可以看到 Dapper 正在调用 System.Convert.ToInt64()
我有其他具有自动递增主键的实体,它们可以正常工作(所以我知道 NpgSqlConnection 工作正常)。事实上,我所有的 VARCHAR PK 实体都失败了,而我所有的自动递增 PK 实体都成功了。
我有很多属性,所以如果可以避免的话,我不想手动写出 SQL。
如何让 SimpleCRUD 与 VARCHAR/字符串主键一起正常工作?我认为 [Key][Required] 标签可以解决问题。
c# - 无法将对象传递给 Dapper.SimpleCrud 插入
我正在使用带有 Dapper.SimpleCrud 扩展的 Dapper。
在我的 Dapper 类中,我对 insert 方法进行了抽象,如下所示:
这让我可以调用 insert 并传递数据库中任何类型的对象。当前调用此方法的代码如下所示:
这会引发一个错误:{"Incorrect syntax near ')'."}
好的,所以现在我认为我传入的数据或其他东西有些奇怪。但不是。当我将自己的 Insert 方法更改为采用Menu
-object 而不是 generalobject
时,它可以工作。
Dapper.SimpleCrud Insert 重载方法显然无法确定它是哪个对象。你知道如何解决吗?
c# - Dapper SimpleCRUD 强制转换:“无法将 'System.Guid' 类型的对象转换为 'System.IConvertible' 类型。”
我正在为数据库表上的基本 CRUD 操作构建一个 API。我在 ASP.NET Web API 项目中使用 C#,并且我的服务类位于单独的类库中。Dapper 和 Dapper.SimpleCRUD 用于 ORM 操作。
当我使用 将 guid 硬编码到数据库中DEFAULT NEWID()
时,我的创建方法工作正常。但为了获得最佳实践,我想在控制器类中创建一个新的 guid,然后将其发送到数据库。当我这样做时,它失败了。
在控制器中:
在存储库中:
我得到"Unable to cast object of type 'System.Guid' to type 'System.IConvertible'."
回应。
这是堆栈跟踪: