前提:須要引入EntityFramework組件,注意幾個使用點後使用上其實比較簡單。web
一、可手動引入附件中的DLL(需手動合併web.config配置)數據庫
二、也可以使用NuGet的安裝方式,安裝時會自動合併配置到web.config文件中app
Install-Package Oracle.ManagedDataAccess.EntityFramework工具
一、單表形式比較簡單,直接配置實體便可this
二、若是有Join類查詢,須要新建視圖,而且以視圖爲主來配置實體對象spa
一、須要注意大小寫配置和字段類型配置,SQL和Oacle的類型不同code
可參考使用工具轉換獲得SQL to Oracle 轉換後的類型,另外要注意大小寫server
二、注意主鍵ID,代碼裏的實體主鍵須用Id來聲明,數據庫不須要。可經過Mapping的方式對應到數據庫中具體的字段,例如:對象
this.Property(t => t.ID).HasColumnName("OrderId").HasColumnType("NUMBER");
三、需注意ToTable映射時表的前綴,因爲SQLServer大可能是默認的dbo,固可不寫前綴blog
鏈接Oracle 等數據庫時須要設置數據庫前綴,如
this.ToTable("MYVIEWS", "TestDB");
DEVEXPRESS就能夠這樣綁定數據源了,理論上就是一個按需加載的DataSource,指定對應的Context和DataSet便可
<dx:EntityServerModeDataSource ID="EntityServerModeDataSource" runat="server" ContextTypeName="DatabaseContext" EnableInsert="true" TableName="MyViews" />
經過SQL語句跟蹤,確認了篩選和排序時也是按需獲取數據,因此效率會提升
跟蹤SQL執行狀況的語句:
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