zoukankan      html  css  js  c++  java
  • 使用EF Oracle实现DevExpress绑定大数据的ServerMode模式

    前提:需要引入EntityFramework组件,注意几个使用点后使用上其实比较简单。

    一、引入Oracle EF支持组建

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

    2、也可使用NuGet的安装方式,安装时会自动合并配置到web.config文件中

      Install-Package Oracle.ManagedDataAccess.EntityFramework

    二、单表和关联查询的支持

    1、单表形式比较简单,直接配置实体即可

    2、如果有Join类查询,需要新建视图,并且以视图为主来配置实体对象

    三、关键点

    1、需要注意大小写配置和字段类型配置,SQL和Oacle的类型不一样

         可参考使用工具转换得到SQL to Oracle 转换后的类型,另外要注意大小写

    2、注意主键ID,代码里的实体主键须用Id来声明,数据库不需要。可通过Mapping的方式对应到数据库中具体的字段,例如:

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

    3、需注意ToTable映射时表的前缀,由于SQLServer大多是默认的dbo,固可不写前缀

       连接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
  • 相关阅读:
    校验身份证有效性
    JAVA实现redis超时失效key 的监听触发
    Java8中时间日期库的20个常用使用示例
    ppt制作元素采集
    查找数据的网站
    在centos7中python3的安装注意
    使用yum安装不知道到底安装在什么文件夹
    linux为什么不可以添加硬链接
    五一之起一台服务器玩玩-花生壳配置
    centos6.5-vsftp搭建
  • 原文地址:https://www.cnblogs.com/leeolevis/p/6220006.html
Copyright © 2011-2022 走看看