Entity Framework Core插件ToSql怎么用
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,这篇文章主要介绍了Entity Framework Core插件ToSql怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。背景在使
千家信息网最后更新 2025年01月24日Entity Framework Core插件ToSql怎么用
这篇文章主要介绍了Entity Framework Core插件ToSql怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
背景
在使用Entity Framework Core进行开发时,若不使用Logger很难查看到一个查询的SQL语句,同时也有些开发者因为不了解EF Core哪些Linq可以Translate成SQL,哪些不能而踩坑导致全表查询的,因此开发了Pomelo.EntityFrameworkCore.Extensions.ToSql。开发者们可以使用这个插件来做查询的单元测试,或对EF Core进行查询语句的简单测试。
使用
首先,在项目中引入Pomelo.EntityFrameworkCore.Extensions.ToSql 2.0.0-preview3-10000
。
在欲输出SQL语句的类中引用命名空间Microsoft.EntityFrameworkCore
,并在欲输出SQL语句位置添加.ToSql()
。
var MySqlContext = new MySqlContext();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代码:
var MySqlContext = new MySqlContext();var unevaluated = 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 (var x in unevaluated){ Console.WriteLine(x);}
运行结果
通过调用.ToSql()
和.ToUnevaluated()
来查看成功与失败的翻译结果,成功的SQL语句和失败的Linq语句在上图结果中一目了然。
感谢你能够认真阅读完这篇文章,希望小编分享的"Entity Framework Core插件ToSql怎么用"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
语句
篇文章
开发
查询
插件
成功
结果
输出
同时
开发者
测试
一目了然
上图
代码
价值
位置
兴趣
单元
更多
朋友
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
安徽网络安全工作责任制
vr游戏是哪个软件开发的
串口服务器5650
关于网络安全手抄报图片高清
软件开发企业进项如何确定
互联网怎么推动科技创新
c 输入所以测试数据库
合肥途秀网络技术有限公司
茂名软件开发价格
数据库关联查询注意什么
广州蜚美网络技术有限公司a轮
网络安全等级保护测评市场
金华市广拓网络技术
东京服务器
泰州市晟轩网络技术有限公司
在服务器设置光驱启动
大理互联网科技
阿坝国家网络安全宣传周活动
做网络安全收入
哪个软件开发工程师最好
投资网络安全企业 2022
网络服务器有什么类型
防溺水和网络安全班会
数据库 控件
手游基岩版进不了服务器
软件开发方法有瀑布流方法吗
淘宝服务器挂了
售后好的病毒数据库
数据库维护前景
软件开发江苏省奖励文件