朋友们好啊,

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

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

我说 怎么回事?

给我发了一张截图

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

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

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

它们说

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

猫猫你能不能帮帮我 ?

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

我说可以

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

他说 你这也没用

我说 我这有用

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

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

他说要试试

我说可以

我一说

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

然后上来就是一个 低性能

一个 不合理

一个 真辣鸡!

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

我全部防出去了

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

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

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

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

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

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

我没有大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 一把梭 源码仓库

谢谢朋友们!

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

RivenFxRiven玩双截棍的熊猫EFCoreEF CoreEntityFrameworkEntityFrameworkCore

[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]

11-26 15:17