使用EF取數據庫返回的數據


目錄

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM