使用EF Oracle实现DevExpress绑定大数据的ServerMode模式
前提:需要引入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)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 独特好听的小说人物名字男孩812个
- 下一篇: String Start!