C# Entity Framework 对接 Oracle11g遇到的问题及解决方案

前 言:

公司ERP使用的Oracle11g的数据,需要使用c#对接,开发一个结算单的程序,开发过程中遇到的两个小问题和解决方法写到这里.


一、数据分页的实现

EF实现分页简直太简单了,以前java对接oracle 使用sql 来分写,都是要用rownum来实现

int totalNum = Fapiaos.Count();

if (page <= 0)
{
    page = 1;
}
int maxPageNum = 1;
if (totalNum % rows == 0)
{
    maxPageNum = totalNum / rows;

}
else
{
    maxPageNum = ((int)totalNum / rows) + 1;
}
if (page >= maxPageNum) { page = maxPageNum; }
           
var returnFapiaos = Fapiaos.AsNoTracking().Skip((page - 1) * rows).Take(rows); //分页的代码

核心就是 AsNoTracking().Skip((page -1)* rows).Take(rows)  就是需要分页后的数据

务必注意Oracle 11特殊性,必须要申明sql使用的版本为11G, 在DBcontext实现类中 ,p => p.UseOracleSQLCompatibility("11"));

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            if (!optionsBuilder.IsConfigured)
            {
                optionsBuilder.UseOracle( connectstring ,p => p.UseOracleSQLCompatibility("11"));
            }
        }

二、视图也可以在通过EF来生成Model 和 Dbset

    需要EF6以上版本, 参数-t 后面跟视图名即可, 有些说要 -view, 我这边实际验证过只需要-t 

Scaffold-DbContext -Connection "连接字符串" Oracle.EntityFrameworkCore -OutputDir Models  -t  销售发票关联发出商品,销售发票汇总含毛利,销售发票明细表视图,结算单按发票表头  -force

哈哈,我视图名和字段名用的中文

相关推荐

  1. SpringBoot整合Mybatis遇到常见问题解决方案

    2024-03-15 09:06:01       44 阅读
  2. facebook广告容易遇到问题解决方案

    2024-03-15 09:06:01       33 阅读
  3. 编译LVGL遇到问题解决方式

    2024-03-15 09:06:01       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-15 09:06:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-15 09:06:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-15 09:06:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-15 09:06:01       20 阅读

热门阅读

  1. html--bug

    html--bug

    2024-03-15 09:06:01      21 阅读
  2. c++字符串刷题:整数反转

    2024-03-15 09:06:01       19 阅读
  3. 如何查看并详细了解一个R包

    2024-03-15 09:06:01       22 阅读
  4. netstat命令 – 查看网络状态统计信息

    2024-03-15 09:06:01       19 阅读
  5. 计算机网络 传输层

    2024-03-15 09:06:01       25 阅读
  6. Vue:自定义消息通知组件

    2024-03-15 09:06:01       19 阅读
  7. NAT笔记

    2024-03-15 09:06:01       19 阅读
  8. springboot 自动装载原理

    2024-03-15 09:06:01       20 阅读
  9. C-线程池

    2024-03-15 09:06:01       21 阅读