天天看點

[大霧霧霧霧] 告别該死的 EFCore Fluent API (續)

朋友們好啊,

我是 .NET 打勞工 玩雙截棍的熊貓

剛才有個朋友問我 貓貓發生什麼事了

我說 怎麼回事?

給我發了一張截圖

[大霧霧霧霧] 告别該死的 EFCore Fluent API (續)

我一看!嗷!原來是zuo天有兩個資料庫,

一個四十多歲,一個三十多歲

它們說

有一個說我列名全大寫 (全小寫),EFCore生成列名區分大小寫

貓貓你能不能幫幫我 ?

幫助治療一下我全大寫(全小寫)

我說可以

我說你看 [大霧霧霧霧] 告别該死的 EFCore Fluent API

他說 你這也沒用

我說 我這有用

這個是反射,.NET 是講反射的,反射動态調用

2000 年釋出的 .NET 都有反射特性的

他說要試試

我一說

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

然後上來就是一個 低性能

一個 不合理

一個 真辣雞!

[大霧霧霧霧] 告别該死的 EFCore Fluent API (續)

我全部防出去了

防出去以後自然是傳統藝能宜點到為止,代碼放在了截圖裡,沒複制出來。我笑了一下,準備撤回。

[大霧霧霧霧] 告别該死的 EFCore Fluent API (續)

因為這個時候按照傳統藝能他已經輸了,如果這代碼發力,一段就把電腦性能吃滿了(霧霧霧)。

他也承認我的類庫有點意思,他不知道代碼截圖已經放到他臉上,他承認我先把代碼截圖發出來。

我撤回代碼截圖不打了,他突然襲擊大量反射性能低來打我臉。

[大霧霧霧霧] 告别該死的 EFCore Fluent API (續)

我沒有大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

    • dotnet add package Riven.EntityFrameworkCore.Oracle

    • Install-Package Riven.EntityFrameworkCore.PostgreSQL

    • dotnet add package Riven.EntityFrameworkCore.DevartOracle

    • Install-Package Riven.EntityFrameworkCore.DevartOracle

  1. 使用驅動
builder.UseRivenPostgreSQL(
  "database connection string"
);
// or
builder.UseRivenPostgreSQL(
  "database connection string",
  (options)=>
  {

  }
);
           
// 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 (續)

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]

目前學習.NET Core 最好的教程

.NET Core 官方教程

ASP.NET Core

官方教程

如果您認為這篇文章還不錯或者有所收獲,您可以點選右下角的【推薦】支援,或請我喝杯咖啡【贊賞】,這将是我繼續寫作,分享的最大動力!

作者:玩雙截棍的熊貓

聲明:原創部落格!請在轉載時在文章開頭注明本人部落格位址。如發現錯誤,歡迎批評指正。凡是轉載于本人的文章,不能設定打賞功能,如有特殊需求請與本人聯系!