使用EF取数据库返回的数据
阅读目录
目录
一、取oracle自定义函数返回的自定义类型。
1.首先创建一个函数返回自定义类型集合
--1.建立自定义类型 CREATE OR REPLACE TYPE UT_BLOCKED_STATISTICS AS OBJECT ( TWO_DPT_CDE VARCHAR2(11), -- TWO_DPT_NME VARCHAR2(111), THREE_DPT_CDE VARCHAR2(11), THREE_DPT_NME VARCHAR2(111), CASE_NUM NUMBER, BLOCKED_NUM NUMBER )
--2.建立自己定义类型集合 CREATE OR REPLACE TYPE "UT_BLOCKED_STATISTICS_LIST" AS TABLE OF UT_BLOCKED_STATISTICS;
--3.创建自定义函数 返回自定义类型集合 --这里用到了Oracle8i 才有的特性 BULK COLLECT [批量插入] create or replace function get_BLOCKED_STATISTICS(BEGINTIME IN DATE, ENDTIME IN DATE) RETURN UT_BLOCKED_STATISTICS_LIST as UT UT_BLOCKED_STATISTICS_LIST; --自定类型集合 BEGIN select UT_BLOCKED_STATISTICS(two_dpt_cde, --这里需要手动显示 对应自定义类型集合 UT_BLOCKED_STATISTICS_LIST 的字段 two_dpt_nme, Three_dpt_cde, Three_dpt_nme, CASE_NUM, BLOCKED_NUM) BULK COLLECT into UT from (select two_dpt_cde, two_dpt_nme,Three_dpt_cde,Three_dpt_nme,CASE_NUM,BLOCKED_NUM from Mytable where ....); return UT; end;
--4.这里就可以使用table() 查询自定义函数返回的结果集 像查询表数据一样方便 select t.* from table(get_BLOCKED_STATISTICS(to_date('...', 'yyyy-MM-dd HH24:mi:ss'),to_date(.. .))) t where ....
2. EF程序调用
首先创建一个class字段对应数据库的自定义类型UT_BLOCKED_STATISTICS 的模型类 BlockedStatistics
Context.Database.SqlQuery<BlockedStatistics>(strSql).ToList() //strSql 拼接的sql查询字符串 //BlockedStatistics 创建的与自定义类型对应的class
//使用的是 EntityFramework.dll v4.0
存过返回自定义类型,怎么在EF中取得返回的值还没搞定....
- 学习本是一个不断抄袭、模仿、练习、创新的过程。
- 虽然,园中已有本人无法超越的同主题博文,为什么还是要写。
- 对于自己,博文只是总结。在总结的过程发现问题,解决问题。
- 对于他人,在此过程如果还能附带帮助他人,那就再好不过了。
- 由于博主能力有限,文中可能存在描述不正确,欢迎指正、补充!
- 感谢您的阅读。如果文章对您有用,那么请轻轻点个赞,以资鼓励。
- 工控物联Q群:995475200
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?