使用EF取数据库返回的数据

本文介绍如何在Oracle中创建自定义类型及集合,并通过自定义函数返回这些类型的集合。此外,还介绍了如何在EF(Entity Framework)中调用此类函数并获取结果。

目录

一、取oracle自定义函数返回的自定义类型

 

一、取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中取得返回的值还没搞定....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值