[大雾雾雾雾] 告别该死的 EFCore Fluent API (续)
朋友们好啊,
我是 .NET 打工人 玩双截棍的熊猫
刚才有个朋友问我 猫猫发生什么事了
我说 怎么回事?
给我发了一张截图
我一看!嗷!原来是zuo天有两个数据库,
一个四十多岁,一个三十多岁
它们说
有一个说我列名全大写 (全小写),EFCore生成列名区分大小写
猫猫你能不能帮帮我 ?
帮助治疗一下我全大写(全小写)
我说可以
我说你看 [大雾雾雾雾] 告别该死的 EFCore Fluent API
他说 你这也没用
我说 我这有用
这个是反射,.NET 是讲反射的,反射动态调用
2000 年发布的 .NET 都有反射特性的
他说要试试
我说可以
我一说
他 “啪!” 就站起来了,很快啊
然后上来就是一个 低性能
一个 不合理
一个 真辣鸡!
我全部防出去了
防出去以后自然是传统艺能宜点到为止,代码放在了截图里,没复制出来。我笑了一下,准备撤回。
因为这个时候按照传统艺能他已经输了,如果这代码发力,一段就把电脑性能吃满了(雾雾雾)。
他也承认我的类库有点意思,他不知道代码截图已经放到他脸上,他承认我先把代码截图发出来。
我撤回代码截图不打了,他突然袭击大量反射性能低来打我脸。
我没有大E啊,也没有闪。
“啪!”就使出一招 Riven.EntityFrameworkCore 打到他脸上
直接重写 Entity Framework Core 驱动默认实现,从源头解决大小问题。
目前扩展的 EF Core 数据库驱动
- PostgreSQL
- Oracle
- DevartOracle
基本用法
- 引入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
- dotnet cli
DevartOracle
- dotnet cli
dotnet add package Riven.EntityFrameworkCore.DevartOracle
- nuget package manager
Install-Package Riven.EntityFrameworkCore.DevartOracle
- dotnet cli
- 使用驱动
- 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 一把梭 源码仓库
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 (续)的更多相关文章
- [大雾雾雾雾] 告别该死的 EFCore Fluent API
[EF Core Oracle 列名大小写问题] [EF Core Oracle column name case problem] [EF Core PostgreSql 列名大小写问题] [EF ...
- 微软跨平台ORM框架之EFCore — 约定与属性映射
EFCore中的约定简单来说就是规则,CodeFirst基于模型的约定来映射表结构.除此之外还有Fluent API.Data Annotations(数据注释) 可以帮助我们进一步配置模型. 按照这 ...
- .NetCore中EFCore的使用整理(二)-关联表查询
EF常用处理关联加载的方式有3中:延迟加载(Lazy Loading).贪婪加载 (Eager Loading)以及显示加载. 一.EF Core 1.1 1.当前的版本,还不支持延迟加载(Lazy ...
- EF6&EFCore 注册/使用实体类的正确姿势
首先回顾下EF中常规使用流程 1.新建实体类以及实体配置(data annotation或fluent api) [Table("Users")] public class Use ...
- 基于efcore的分表组件开源
ShardingCore ShardingCore 是一个支持efcore 2.x 3.x 5.x的一个对于数据库分表的一个简易扩展, 目前该库暂未支持分库(未来会支持),仅支持分表,该项目的理念是让 ...
- efcore分表下"完美"实现
ShardingCore 如何呈现"完美"分表 这篇文章是我针对efcore的分表的简单介绍,如果您有以下需求那么可以自己选择是否使用本框架,本框架将一直持续更新下去,并且免费开源 ...
- efcore分表分库原理解析
ShardingCore ShardingCore 易用.简单.高性能.普适性,是一款扩展针对efcore生态下的分表分库的扩展解决方案,支持efcore2+的所有版本,支持efcore2+的所有数据 ...
- EFCore 6.0入门看这篇就够了
前言 作为一直在dotNet行业耕耘的码农,这几年在大大小小项目中也涉及到了许多ORM框架,比如:EFCore,Dapper,NHibernate,SqlSugar等等,这些ORM都有各自的优缺点,大 ...
- EFCore 的 DbFirst 模式
1 前言 EF6 时代,可以通过界面操作,添加数据库实体. EF Core 需要通过 CLI 来进行该操作,具体请参考EF Core官方文档:反向工程. 2 前置条件 PMC 工具(仅限 Visual ...
随机推荐
- 浅谈NLP 文本分类/情感分析 任务中的文本预处理工作
目录 浅谈NLP 文本分类/情感分析 任务中的文本预处理工作 前言 NLP相关的文本预处理 浅谈NLP 文本分类/情感分析 任务中的文本预处理工作 前言 之所以心血来潮想写这篇博客,是因为最近在关注N ...
- git学习(三) git的分支操作
git的分支操作 软件项目中启动一套单独的开发线的方法,可以很好的避免版本兼容开发的问题,避免不同版本之间的相互影响,封装一个开发阶段,解决bug的时候新建分支,用于对该bug的研究: git中跟分支 ...
- 为iOS编译FFmpeg静态库
为iOS编译FFmpeg静态库 环境:OS X Yosemite (版本10.10.5) Xcode (Version 7.1.1 (7B1005)) 一.资料准备: (1)ffmpeg源 ...
- Luogu P2179 [NOI2012]骑行川藏
题意 给定 \(n\) 个路段,每个路段用三个实数 \(s_i,k_i,v^\prime_i\) 描述,最小化 \[F(v_1,\cdots v_n)=\sum\limits_{i=1}^{n}\fr ...
- java的高并发IO原理,阻塞BIO同步非阻塞NIO,异步非阻塞AIO
原文地址: IO读写的基础原理 大家知道,用户程序进行IO的读写,依赖于底层的IO读写,基本上会用到底层的read&write两大系统调用.在不同的操作系统中,IO读写的系统调用的名称可能不完 ...
- 手写cli
惠善一的博客:http://huishanyi.club/ 通过命令行工具,初始化团队项目,并生成团队规范代码,一键创建项目,一键生成代码,一键生成功能模块··· 解放双手,从 cli 开始, JSe ...
- Group指定的方式如下: @Test(groups = {"fast", "unit", "database" })
Group指定的方式如下: @Test(groups = {"fast", "unit", "database" }) public voi ...
- Activit的心路历程:获取当前节点的下一节点【可能存在多个】的nodeId
上一任务节点 在我的开发任务中,突然给我提出了一个待办任务需要获取当前任务节点下一任务节点的表单信息,刚开始搞得我有点措手不及,后来仔细是靠后,灵感一下,直接操作流程的bpmn信息就可以获取到节点信息 ...
- ClassNotFoundException: java.util.ArrayList$SubList 错误
ClassNotFoundException: java.util.ArrayList$SubListjava.lang.RuntimeException: java.lang.ClassNotFou ...
- C#调用pyd
python打包成pyd在本篇博客不多叙述,请读者自行百度,本篇博客主要讲解在C#中如何调用pyd以及遇到的一些问题如何解决. 1.安装pythonnet pythonnet是一个强大的工具包,用于C ...