朋友们好啊,

我是 .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. 洛谷 p6858 深海少女与胖头鱼 洛谷月赛 期望dp

    洛谷10月月赛 2 t2 深海少女与胖头鱼 题目链接 参考资料:洛谷10月赛2讲评ppt; 本篇题解考完那天就开始写,断断续续写到今天才写完 本题作为基础的期望dp题,用来学习期望dp还是很不错的 ( ...

  2. rsync 守护进程模式搭建 与常见报错

    守护进程模式搭建 1.环境准备 2.安装rsync(做备份的服务器都安装) [root@backup ~]# yum install -y rsync 3.服务端配置 [root@backup ~]# ...

  3. CGANs

    Introducation 1. intruduce the conditional version of GANs, which can be constructed by simply feedi ...

  4. Mybatis---02Mybatis执行过程分析

    1.在动态代理中,执行MapperMethod类里面的execute方法,这个方法里面最终是调用DefaultSqlSession类中的相关操作方法.接着之前的文章继续,在DefaultSqlSess ...

  5. 03 . Go框架之Gin框架从入门到熟悉(Cookie和Session,数据库操作)

    Cookie Cookie是什么 HTTP是无状态协议,服务器不能记录浏览器的访问状态,也就是说服务器不能区分两次请求是否由同一个客户端发出 Cookie就是解决HTTP协议无状态的方案之一,中文是小 ...

  6. CSS动画之动画模块

    过渡模块和动画模块的区别:过渡动画需要人为的去触发这个反应,而动画模块不需要人为相同点:都是动画:都是系统新增的属性:都是要满足三要素才有动画效果三要素:1.告诉系统执行哪个动画,要写出动画名称:an ...

  7. APIview的使用

    大牛博客: h'ttp://www.cnblogs.com/xiaonq/p/10124104.html 1.ModelViewSet 是对 APIView 封装 2.ModelSerializer ...

  8. Java对象转JSON时如何动态的增删改查属性

    1. 前言 日常开发中少不了JSON处理,少不了需要在JSON中添加额外字段或者删除特定字段的需求.今天我们就使用Jackson类库来实现这个功能. 2. JSON字符串增加额外字段 假如我们有这样结 ...

  9. layui table中固定表头,弹框缩放之后,表头对不齐问题

    新手一枚  直接上解决方案 在layui弹出成功后再渲染表格数据 具体操作就是在layer弹层完成之后的回调中渲染表格数据 layer.open({ type: 1, content:  $(&quo ...

  10. Spider Storage Engine

    这个引擎可以完成MySQL的数据库分片