linq - 如何将 Dapper LINQ 与 TableDirect(无嵌入式 SQL)与 ORACLE 一起使用?
问题描述
我尝试了 DapperExtensions、Dapper.Extensions.Linq 和 linq2dapper 无济于事。我会尝试Dapper.SimpleCRUD-with-Oracle。我可能会改用存储过程来解决。我想不使用TableDirect
嵌入式 SQL 语句。如何将 Dapper 和 Linq 与 a 一起使用TableDirect
?或者,如何在TableDirect
没有嵌入式 SQL 的情况下使用并过滤表?
以下是我的问题:
- 如果没有运行时错误,我无法创建 Predicate。
- 我需要缺少配置
- 我收到有关表的 ORA 错误说“列不正确,运行时错误”。
如何将 Dapper LINQ 与 TableDirect(无嵌入式 SQL)与 ORACLE 一起使用?
解决方案
您可以使用简单的 Dapper 来实现这一点。例如,看看 Dapper 的以下代码:
public static IEnumerable<T> Query<T>(this IDbConnection cnn, string sql, object param = null, IDbTransaction transaction = null, bool buffered = true, int? commandTimeout = default(int?), CommandType? commandType = default(CommandType?));
看最后一个commandType
参数。它支持TableDirect
您正在寻找的价值。
至于您提到的 Dapper 的其他扩展,我认为他们不会支持它。我确定 Dapper Extensions 不支持它;不确定其他人。
这是因为,这些扩展是基于 Dapper 编写的基本查询生成器。因此,您正在使用它们来生成查询,在这种情况下,该参数值将/应该是Text
. 如果您想使用其他值,请绕过扩展并使用简单的 Dapper。
如果您只想提供表名或存储过程名,为什么要使用查询生成器?只需使用 Dapper。
推荐阅读
- java - 扩展节点时JavaFX TreeTableView 很慢?
- python - TypeError: object() 没有参数(trex 恐龙机器人)
- php - laravel 5.6 未从 laravel 中的控制器读取变量
- twitter-bootstrap - 在 vue.js 中改变颜色
- android - 共享图像意图在三星 S8 中不起作用
- node.js - npm 请求或 https 模块哪个更好
- grand-central-dispatch - 在 NSDocumentSubclass 初始化期间显示一个窗口
- css - css倾斜元素并获得内部圆角边框顶部
- javascript - 使用 Openseadragon 在大图像上使用 IE 11/Edge 得到“IndexSizeError”
- python-2.7 - 在 Python 中结束循环时停止 While 循环