ef mysql 插件_EF Core 插件 —— ToSql
原标题:EF Core 插件 —— ToSql
背景
在使用Entity Framework Core进行开发时,若不使用Logger很难查看到一个查询的SQL语句,同时也有些开发者因为不了解EF Core哪些Linq可以Translate成SQL,哪些不能而踩坑导致全表查询的,因此开发了Pomelo.EntityFrameworkCore.Extensions.ToSql。开发者们可以使用这个插件来做查询的单元测试,或对EF Core进行查询语句的简单测试。
该项目在GitHub中开源,也欢迎广大开发者加入QQ群522943763提出意见与建议。
使用
首先,在项目中引入Pomelo.EntityFrameworkCore.Extensions.ToSql 2.0.0-preview3-10000。
在欲输出SQL语句的类中引用命名空间Microsoft.EntityFrameworkCore,并在欲输出SQL语句位置添加.ToSql()。
varMySqlContext = newMySqlContext();Console.WriteLine(MySqlContext.Models .Where(x => x.Title.Contains( "Pomelo")) .Where(x => new[] { 2, 3, 5, 7, 11}.Contains(x.Count)) .Where(x => x.Title.Skip( 3).Take( 4).ToString() == "Hello") .ToSql());
在欲输出未能翻译的Linq语句处,执行.ToUnevaluated()即可返回未能成功执行的Linq代码:
varMySqlContext = newMySqlContext(); varunevaluated = MySqlContext.Models .Where(x => x.Title.Contains( "Pomelo")) .Where(x => new[] { 2, 3, 5, 7, 11}.Contains(x.Count)) .Where(x => x.Title.Skip( 3).Take( 4).ToString() == "Hello") .ToUnevaluated(); foreach( varx in unevaluated){ Console.WriteLine(x);}
运行结果
通过调用.ToSql()和.ToUnevaluated()来查看成功与失败的翻译结果,成功的SQL语句和失败的Linq语句在上图结果中一目了然。
ef mysql 插件_EF Core 插件 —— ToSql相关推荐
- ef mysql 连接数_EF Core 小坑:DbContextPool 会引起数据库连接池连接耗尽
原标题:EF Core 小坑:DbContextPool 会引起数据库连接池连接耗尽 DbContextPool 是 ASP.NET Core 2.1 引入的新特性,可以节省创建 DbContext ...
- ef mysql db first_Net Core使用EF之DB First
一.新建一个.net core的MVC项目 新建好项目后,不能像以前一样直接在新建项中添加ef了,需要用命令在添加ef的依赖 二.使用Nuget添加EF的依赖 输入命令: Install-Packa ...
- ef mysql 事务_EF中使用事务 - 李超明的个人空间 - OSCHINA - 中文开源技术交流社区...
1.EF中的默认的事务 默认情况下,当我们执行一个SaveChanges()方法时就会新建了一个事务,然后将context中的CUD操作都在这个事务中进行.Context中有多个SaveChanges ...
- ef mysql 约定_EF 数据库连接约定(Connection String Conventions in Code First)
一个典型的EF应用大多数情况下是一个DbContext的派生类(derived class)来控制,通常可以使用该派生类调用DbContext的构造函数,来控制以下的东西: (1).上下文如何连接到数 ...
- EF Core 插件 —— ToSql
背景 在使用Entity Framework Core进行开发时,若不使用Logger很难查看到一个查询的SQL语句,同时也有些开发者因为不了解EF Core哪些Linq可以Translate成SQL ...
- ef mysql 读写分离_基于 EntityFramework 的数据库主从读写分离服务插件
基于 EntityFramework 的数据库主从读写分离服务插件 1. 版本信息和源码 1.1版本信息 v1.01 beta(2015-04-07),基于 EF 6.1 开发,支持 EF 6.1 之 ...
- mysql plugin 调用_MySQL插件接口的调用方式
author:sufei 版本:8.0.16 一.简介 首先简单说明一下插件的实现原理 在程序的合适位置(挂钩处)安插相应的函数指针,相应的结构类似:if (fun_ptr != null) fun_ ...
- TeamCity : .NET Core 插件
安装插件 请从 .NET Core Support 下载插件. 以管理员权限进入 Plugins List 页面,点击上方的 "Upload plugin zip": 然后选择上传 ...
- MySQL密码策略管理插件validate_password
小伙伴想精准查找自己想看的MySQL文章?喏 → MySQL江湖路 | 专栏目录 自MySQL5.6版本,引入了新密码校验插件validate_password, 用于管理用户密码长度.强度等,保 ...
最新文章
- 麦克纳姆轮——机械部分
- Android开源控件ViewPager Indicator的使用方法
- python傅里叶变换例子
- python 逐行调试工具_在线编译或编辑Python的5个最佳工具
- python 实现文本自动翻译功能
- inline-block清除空隙2
- mysql 1215_mysql执行带外键的sql文件时出现mysql ERROR 1215 (HY000): Cannot add foreign key constraint的解决...
- 实现OO的最后一公里
- busybox inittab
- NSOperation 开发
- 个人总结——学期总结
- Unity容器中AOP应用示例程序
- POJ 2635 The Embarrassed Cryptographer(JAVA)
- 电源模块的选择、国内外知名电源模块厂家排名及厂家优势特点汇总
- 如何在计算机管理设置开机密码,电脑怎么设置开机密码 开机密码设置步骤
- 【plotly+ datashader+mapbox】Uber纽约上车点可视化/解决超大量地理数据可视化
- c语言程序实例100题,C 练习实例3
- php error_reporting(0);,php error_reporting()函数的用法举例(错误捕捉)
- FX5U MODBUS_TCP通讯
- Excel阅读器NPOI
热门文章
- [C#]使用CMD命令删除文件函数
- Elasticsearch的javaAPI之query dsl-queries
- 分布式服务框架-原理与实践:14---流量控制-学习笔记(理论篇)
- css如何转为html5,HTML与CSS中的3D转换模块
- struts2漏洞_十大常见web漏洞——命令执行漏洞
- 看看专科程序员与本科程序员之间,到底有什么区别?
- 想自学Python却不知该如何入门?这篇文章带你轻松入门Python
- php 提交的数据覆盖,如何高效的做数据覆盖操作
- boot定时任务开启和关闭 spring_SpringBoot中的定时任务的同步与异步你确定真的知道?...
- 硬件基础:电阻作用及产品应用