日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

EF Core 插件 —— ToSql

發(fā)布時間:2023/12/4 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 EF Core 插件 —— ToSql 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

背景

在使用Entity Framework Core進(jìn)行開發(fā)時,若不使用Logger很難查看到一個查詢的SQL語句,同時也有些開發(fā)者因?yàn)椴涣私釫F Core哪些Linq可以Translate成SQL,哪些不能而踩坑導(dǎo)致全表查詢的,因此開發(fā)了Pomelo.EntityFrameworkCore.Extensions.ToSql。開發(fā)者們可以使用這個插件來做查詢的單元測試,或?qū)F Core進(jìn)行查詢語句的簡單測試。

該項(xiàng)目在GitHub中開源,也歡迎廣大開發(fā)者加入QQ群522943763提出意見與建議。

使用

首先,在項(xiàng)目中引入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語句處,執(zhí)行.ToUnevaluated()即可返回未能成功執(zhí)行的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); }

運(yùn)行結(jié)果

通過調(diào)用.ToSql()和.ToUnevaluated()來查看成功與失敗的翻譯結(jié)果,成功的SQL語句和失敗的Linq語句在上圖結(jié)果中一目了然。

相關(guān)文章:

  • 全球首發(fā)免費(fèi)的MySql for Entity Framework Core

  • .NET Core 使用Dapper 操作MySQL

  • 在.NET Core中使用MySQL5.7的JSON類型字段

  • 全文索引 - Pomelo.EFCore.MySql

  • Entity Framework Core 生成跟蹤列

  • 在Apworks數(shù)據(jù)服務(wù)中使用基于Entity Framework Core的倉儲(Repository)實(shí)現(xiàn)

  • Entity Framework Core的貼心:優(yōu)雅處理帶默認(rèn)值的數(shù)據(jù)庫字段

  • Entity Framework Core 實(shí)現(xiàn)MySQL 的TimeStamp/RowVersion 并發(fā)控制

  • Entity Framework Core 軟刪除與查詢過濾器

  • Entity Framework Core 命名約定

  • 全文索引 - Pomelo.EFCore.MySql

  • Entity Framework Core 批處理語句

原文地址:http://www.1234.sh/post/full-text-index-in-pomelo-efcore-mysql


.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關(guān)注

總結(jié)

以上是生活随笔為你收集整理的EF Core 插件 —— ToSql的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。