【导读】给各位拜年了,开年第一篇,后续我们介绍EF Core 5.0相关新特性
自动返回SQL语句
当执行LINQ查询时,EF Core 5.0提供了ToQueryString扩展方法返回生成的SQL语句
比如,执行如下LINQ查询
var name = "jeffcky";
var user = _context.Users.Where(d => d.Name == name);
var sql = user.ToQueryString();
DECLARE @__name_0 nvarchar(4000) = N'jeffcky';
SELECT [u].[Id], [u].[Birth], [u].[Email], [u].[Name], [u].[Phone]
FROM [Users] AS [u]
WHERE [u].[Name] = @__name_0
当然所生成的SQL语句肯定针对不同数据库而定制,例如,上述生成SQLite如下:
.param set @__name_0 'Jeffcky'
SELECT "d"."Id", "d"."Name", "d"."Email", "d"."Phone"
FROM "Users" AS "d"
WHERE "d"."Name" = @__name_0
EF Core 5还引入了“调试视图”,在我们选择的调试器中可轻松查看生成的SQL和关联的表达式树,展开DebugView即可深入到EF查询对象。
学习是一个日益积累的过程,有人说,他希望敲代码到60岁,我呢,只要从事这个行业,就持续不断分享,哎呀,为了文字满三百字才能发布,极力凑够三百字,终于够了吧!
???? EF Core 5.0介绍了ToQueryString扩展方法自动生成针对特定数据库的SQL语句,当然也就包含正确的参数类型声明