朋友们好啊,

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

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

我说 怎么回事?

给我发了一张截图

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

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

它们说

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

猫猫你能不能帮帮我 ?

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

我说可以

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

他说 你这也没用

我说 我这有用

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

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

他说要试试

我说可以

我一说

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

然后上来就是一个 低性能

一个 不合理

一个 真辣鸡!

我全部防出去了

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

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

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

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

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

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]

[大雾雾雾雾] 告别该死的 EFCore Fluent API (续)的更多相关文章

  1. [大雾雾雾雾] 告别该死的 EFCore Fluent API

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

  2. 微软跨平台ORM框架之EFCore — 约定与属性映射

    EFCore中的约定简单来说就是规则,CodeFirst基于模型的约定来映射表结构.除此之外还有Fluent API.Data Annotations(数据注释) 可以帮助我们进一步配置模型. 按照这 ...

  3. .NetCore中EFCore的使用整理(二)-关联表查询

    EF常用处理关联加载的方式有3中:延迟加载(Lazy Loading).贪婪加载 (Eager Loading)以及显示加载. 一.EF Core  1.1 1.当前的版本,还不支持延迟加载(Lazy ...

  4. EF6&EFCore 注册/使用实体类的正确姿势

    首先回顾下EF中常规使用流程 1.新建实体类以及实体配置(data annotation或fluent api) [Table("Users")] public class Use ...

  5. 基于efcore的分表组件开源

    ShardingCore ShardingCore 是一个支持efcore 2.x 3.x 5.x的一个对于数据库分表的一个简易扩展, 目前该库暂未支持分库(未来会支持),仅支持分表,该项目的理念是让 ...

  6. efcore分表下"完美"实现

    ShardingCore 如何呈现"完美"分表 这篇文章是我针对efcore的分表的简单介绍,如果您有以下需求那么可以自己选择是否使用本框架,本框架将一直持续更新下去,并且免费开源 ...

  7. efcore分表分库原理解析

    ShardingCore ShardingCore 易用.简单.高性能.普适性,是一款扩展针对efcore生态下的分表分库的扩展解决方案,支持efcore2+的所有版本,支持efcore2+的所有数据 ...

  8. EFCore 6.0入门看这篇就够了

    前言 作为一直在dotNet行业耕耘的码农,这几年在大大小小项目中也涉及到了许多ORM框架,比如:EFCore,Dapper,NHibernate,SqlSugar等等,这些ORM都有各自的优缺点,大 ...

  9. EFCore 的 DbFirst 模式

    1 前言 EF6 时代,可以通过界面操作,添加数据库实体. EF Core 需要通过 CLI 来进行该操作,具体请参考EF Core官方文档:反向工程. 2 前置条件 PMC 工具(仅限 Visual ...

随机推荐

  1. spring-boot-route(二十一)quartz实现动态定时任务

    Quartz是一个定时任务的调度框架,涉及到的主要概念有以下几个: Scheduler:调度器,所有的调度都由它控制,所有的任务都由它管理. Job:任务,定义业务逻辑. JobDetail:基于Jo ...

  2. 基于risc-v架构cpu

    一.定义:    CPU ,全称为中央处理器单元,简称为处理器,是一个不算年轻的概念 早在 20 世纪60 年代便己诞生了第一款 CPU请注意区分"处理器"和"处理器核& ...

  3. Vue实例中封装api接口的思路 在页面中用async,await调用方法请求

    一般我们写小型的项目是用不到封装axios实例 但是当我们写大型项目时  接口有时候多到有上百个接口,那我们在请求一次调用一次接口,接口上好多都是重复的,这个时候我们就可以封装axios实例,既节省了 ...

  4. poco对象生成的几种方式根据你使用不同的ui决定

    androidpoco定义方法 from poco.drivers.android.uiautomation import AndroidUiautomationPoco dev = connect_ ...

  5. 浅谈DevOps

    DevOps: Development和Operations的组合,是一种软件开发方法,涉及软件在整个开发生命周期中的持续开发,持续测试,持续集成,持续部署和持续监控. 可以把DevOps看作系统开发 ...

  6. Qlik Sense学习笔记之插件开发

    date: 2019-05-06 13:18:45 updated: 2019-08-09 15:18:45 Qlik Sense学习笔记之插件开发 1.开发前的基础工作 1.1 新建插件 dev-h ...

  7. 看完这篇 final、finally 和 finalize 和面试官扯皮就没问题了

    我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 star https://github.com/crisxuan/bestJavaer 已提交此篇文章 final 是 Java 中的关键字 ...

  8. elk之插件部署 (实操三)

    一.插件安装 下载head以及node软件包: elasticsearch-head.tar.gz node-v8.12.0-linux-x64.tar.gz 找不到这两个包的评论下留言或私我 解压软 ...

  9. 安装 Homebrew&iterm2&Oh My Zsh

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/instal ...

  10. 【Luogu】 P6274 [eJOI2017]六 题解

    首先,题目说了最多\(6\)个质因数. 如此小的数据范围,不是状压还是啥? 然后,我们可以发现一个性质:只要两个因数有相同的质因数(不管次数是多少),两者就不互质. 这启示我们用一个二进制数来表示一类 ...