• [大雾雾雾雾] 告别该死的 EFCore Fluent API (续)


    朋友们好啊,

    我是 .NET 打工人 玩双截棍的熊猫

    刚才有个朋友问我 猫猫发生什么事了

    我说 怎么回事?

    给我发了一张截图

    image-20201124155030919

    我一看!嗷!原来是zuo天有两个数据库,

    一个四十多岁,一个三十多岁

    它们说

    有一个说我列名全大写 (全小写),EFCore生成列名区分大小写

    猫猫你能不能帮帮我 ?

    帮助治疗一下我全大写(全小写)

    我说可以

    我说你看 [大雾雾雾雾] 告别该死的 EFCore Fluent API

    他说 你这也没用

    我说 我这有用

    这个是反射,.NET 是讲反射的,反射动态调用

    2000 年发布的 .NET 都有反射特性的

    他说要试试

    我说可以

    我一说

    他 “啪!” 就站起来了,很快啊

    然后上来就是一个 低性能

    一个 不合理

    一个 真辣鸡!

    image-20201124155259700

    我全部防出去了

    防出去以后自然是传统艺能宜点到为止,代码放在了截图里,没复制出来。我笑了一下,准备撤回。

    image-20201124155334456

    因为这个时候按照传统艺能他已经输了,如果这代码发力,一段就把电脑性能吃满了(雾雾雾)。

    他也承认我的类库有点意思,他不知道代码截图已经放到他脸上,他承认我先把代码截图发出来。

    我撤回代码截图不打了,他突然袭击大量反射性能低来打我脸。

    img

    我没有大E啊,也没有闪。

    “啪!”就使出一招 Riven.EntityFrameworkCore 打到他脸上

    直接重写 Entity Framework Core 驱动默认实现,从源头解决大小问题。


    目前扩展的 EF Core 数据库驱动

    • PostgreSQL
    • Oracle
    • DevartOracle

    基本用法

    1. 引入nuget包
    • Postgresql

      • dotnet cli

        dotnet add package Riven.EntityFrameworkCore.PostgreSQL

      • nuget package manager

        Install-Package Riven.EntityFrameworkCore.PostgreSQL

    • Oracle

      • dotnet cli
        dotnet add package Riven.EntityFrameworkCore.Oracle
      • nuget package manager
        Install-Package Riven.EntityFrameworkCore.PostgreSQL
    • DevartOracle

      • dotnet cli
        dotnet add package Riven.EntityFrameworkCore.DevartOracle
      • nuget package manager
        Install-Package Riven.EntityFrameworkCore.DevartOracle
    1. 使用驱动
    • PostgreSQL
    builder.UseRivenPostgreSQL(
      "database connection string"
    );
    // or
    builder.UseRivenPostgreSQL(
      "database connection string",
      (options)=>
      {
    
      }
    );
    
    • Oracle
    // Default SQLCompatibility V11
    builder.UseRivenOracle(
      "database connection string"
    );
    // or
    builder.UseRivenOracle(
      "database connection string",
      (options)=>
      {
          //  SQLCompatibility V12
          //options.UseOracleSQLCompatibility(OracleSQLCompatibility.V12)
      }
    );
    
    • Devart Oracle
    var license = ""; // Devart license
    builder.UseRivenDevartOracle(
      "database connection string",
      license
    );
    // or
    builder.UseRivenDevartOracle(
      "database connection string",
      license,
      (options)=>
      {
    
      }
    );
    
    

    E.EntityFrameworkCore.Extensions 相比,更底层 / 更原生 / 性能更佳

    虽然暂时不支持 E.EntityFrameworkCore.Extensions 的一些功能,但我会往里加的

    如果觉得好用的话请 收藏 转发 star fork 一把梭 源码仓库

    谢谢朋友们!

    img

    RivenFx Riven 玩双截棍的熊猫 EFCore EF Core EntityFramework EntityFrameworkCore

    [EF Core Oracle 列名大小写问题]
    [EF Core Oracle column name case problem]
    [EF Core PostgreSql 列名大小写问题]
    [EF Core PostgreSql column name case problem]

    [EFCore Oracle 列名大小写问题]
    [EFCore Oracle column name case problem]
    [EFCore PostgreSql 列名大小写问题]
    [EFCore PostgreSql column name case problem]

    [entity framework core Oracle 列名大小写问题]
    [entity framework core Oracle column name case problem]
    [entity framework core PostgreSql 列名大小写问题]
    [entity framework core PostgreSql column name case problem]

  • 相关阅读:
    小数的编程
    小数的编程
    硬币趣味题
    硬币趣味题
    好玩的 emoji
    ThreadPoolExecutor使用介绍
    希尔排序
    OpenCms创建站点过程图解——献给OpenCms的刚開始学习的人们
    Linux C 编程内存泄露检測工具(二):memwatch
    C++封装、继承、多态
  • 原文地址:https://www.cnblogs.com/staneee/p/14033819.html
Copyright © 2020-2023  润新知