电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

.NET Core中使用OA信用盘源码下载Dapper操作Oracle存储过程最佳实践

4页
  • 卖家[上传人]:财迷
  • 文档编号:88541634
  • 上传时间:2019-04-30
  • 文档格式:DOCX
  • 文档大小:138.45KB
  • / 4 举报 版权申诉
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、为什么说是最佳实践呢?OA信用盘源码下载,详情咨询【企娥166848365】因为在实际开发中踩坑了,而且发现网上大多数文章给出的解决方法都不能很好地解决问题。尤其是在获取类型为OracleDbType.RefCursor,输出为:ParameterDirection.Output数据的时候。网上千篇一律的说写一个OracleDynamicParameters的扩展。但是给出的代码OracleDynamicParameters中对于Get方法都没有贴出代码或者Get方法的书写存在一定的问题。这就导致了,如果你执行一个Oracle存储过程并且获取OracleDbType.RefCursor类型的输出值的时候就会爆“OracleDbType无法转换成CLR类型”的问题。具体的异常提示这里就不截图了,大致就是需要进行一下OracleDbType到CLR类型的一个转换。Dapper的DynamicParameters不支持游标类型如果你用Dapper来进行Oracle的存储过程的操作,刚好这个存储过程需要传入一个游标类型的输出值,如下所示,你会发现在DbType中是不包含游标类型的。var p

      2、= new DynamicParameters();p.Add(foo, bar);p.Add(baz_cursor, dbType: DbType.?(没有游标类型) , direction: ParameterDirection.Output);自定义OracleDynamicParameters来支持游标类型不知道大家还有咩有印象,我在2018年的时候曾经翻译了一篇关于在.NET Core中使用Dapper操作Oracle的文章,没有印象的可以点击链接查看下译ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了。这篇文章是翻译的,里面有一个OracleDynamicParameters的扩展方法的代码,具体的代码大家可以点击上面的链接进行查看,使用这个OracleDynamicParameters进行Oracle存储过程的查询是不会有问题的,而且也支持包含OracleDbType.RefCursor类型的存储过程的执行。因为它在Add参数的时候传入的是数据类型是OracleDbType类型,如下所示:因此这里我们可以在添加参数的时候,传入游

      3、标类型了。如下所示:但是这时候,如果这个游标类型是输出参数,这时候你如果通过下面这种方式来直接获取的话,就会爆我们文章开头的错误了。异常的大概意思就是“返回的是OracleDbType类型,没法直接转换成CLR类型,如上面的int类型”。解决异常问题既然知道了异常的问题,那么接下来我们就需要解决这个问题了。大概的解决思路也就是重新实现下Get方案,在获取数据的时候执行下OracleDataType到CLR类型的转换。可能这个对大伙有点难度,但是别担心,我们有GayHub,因此我在GayHub上果然找到了现成的实现,具体的代码可以点这里查看这里实现的OracleDynamicParameters比我们实现的更强大,功能也更丰富。同时也实现了Get方法的转换。如下图所示:同时,作者也发布了Nuget包,来让你远离996.使用方式如下:然后在文件中引入Dapper.Oracle的明明空间就可以了。同时此项目的GitHub地址有必要贴一下:https:/ Core中使用Dapper操作Oracle存储过程遇到的坑,同时给出了个人认为是最佳实现的解决方法。希望对大家有所帮助。Dapper是一个好的工具,可以让你编写高性能的数据库操作代码。但是,有时在对Oracle的支持上,可能有一些欠缺,这时候就有一批乐于分享,甘于贡献的编程爱好者来分享优秀的扩展来让我们远离996。

      《.NET Core中使用OA信用盘源码下载Dapper操作Oracle存储过程最佳实践》由会员财迷分享,可在线阅读,更多相关《.NET Core中使用OA信用盘源码下载Dapper操作Oracle存储过程最佳实践》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.