日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用EF Oracle实现DevExpress绑定大数据的ServerMode模式

發(fā)布時(shí)間:2023/12/2 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用EF Oracle实现DevExpress绑定大数据的ServerMode模式 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前提:需要引入EntityFramework組件,注意幾個(gè)使用點(diǎn)后使用上其實(shí)比較簡單。

一、引入Oracle EF支持組建

1、可手動(dòng)引入附件中的DLL(需手動(dòng)合并web.config配置)

2、也可使用NuGet的安裝方式,安裝時(shí)會(huì)自動(dòng)合并配置到web.config文件中

  Install-Package Oracle.ManagedDataAccess.EntityFramework

二、單表和關(guān)聯(lián)查詢的支持

1、單表形式比較簡單,直接配置實(shí)體即可

2、如果有Join類查詢,需要新建視圖,并且以視圖為主來配置實(shí)體對象

三、關(guān)鍵點(diǎn)

1、需要注意大小寫配置和字段類型配置,SQL和Oacle的類型不一樣

? ? ?可參考使用工具轉(zhuǎn)換得到SQL to Oracle 轉(zhuǎn)換后的類型,另外要注意大小寫

?

2、注意主鍵ID,代碼里的實(shí)體主鍵須用Id來聲明,數(shù)據(jù)庫不需要。可通過Mapping的方式對應(yīng)到數(shù)據(jù)庫中具體的字段,例如:

?

this.Property(t => t.ID).HasColumnName("OrderId").HasColumnType("NUMBER");

?

3、需注意ToTable映射時(shí)表的前綴,由于SQLServer大多是默認(rèn)的dbo,固可不寫前綴

  ?連接Oracle 等數(shù)據(jù)庫時(shí)需要設(shè)置數(shù)據(jù)庫前綴,如

?

this.ToTable("MYVIEWS", "TestDB");

?

DEVEXPRESS就可以這樣綁定數(shù)據(jù)源了,理論上就是一個(gè)按需加載的DataSource,指定對應(yīng)的Context和DataSet即可

<dx:EntityServerModeDataSource ID="EntityServerModeDataSource" runat="server" ContextTypeName="DatabaseContext" EnableInsert="true" TableName="MyViews" />

?

通過SQL語句跟蹤,確認(rèn)了篩選和排序時(shí)也是按需獲取數(shù)據(jù),所以效率會(huì)提高

跟蹤SQL執(zhí)行情況的語句:

SELECT TO_CHAR(LAST_ACTIVE_TIME,'yyyy-mm-dd hh:mi:ss'),SQL_TEXT FROM V$SQL WHERE SQL_TEXT LIKE '%MYVIEWS%' ORDER BY LAST_ACTIVE_TIME DESC

?

轉(zhuǎn)載于:https://www.cnblogs.com/leeolevis/p/6220006.html

總結(jié)

以上是生活随笔為你收集整理的使用EF Oracle实现DevExpress绑定大数据的ServerMode模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。