个人网站可以做资讯小说类网站平台建设需求的意见
news/
2025/9/23 8:57:49/
文章来源:
个人网站可以做资讯小说类,网站平台建设需求的意见,网站内容的丰富性,株洲网站建设联系方式概述在使用EF Core的时候#xff0c;有时候我们需要追踪它生成的sql语句#xff0c;那么方法那么多#xff0c;我们怎么知道对应的sql语句是在代码哪里呢#xff0c;这时候就需要一个备注#xff0c;TagWith()能够帮助我们生成对应的注释信息。查询标记有助于将代码中的LI… 概述在使用EF Core的时候有时候我们需要追踪它生成的sql语句那么方法那么多我们怎么知道对应的sql语句是在代码哪里呢这时候就需要一个备注TagWith()能够帮助我们生成对应的注释信息。查询标记有助于将代码中的LINQ查询与日志中捕获的生成的SQL查询相关联。您使用新TagWith()方法注释LINQ查询EF Core 2.2中的TagWith是一项出色的功能可以跟踪查询存储区中的查询但您必须记住将其添加到所有查询中。实现方法var myLocation new Point(1, 2);
var nearestPeople (from f in context.People.TagWith(This is my spatial query!)orderby f.Location.Distance(myLocation) descendingselect f).Take(5).ToList();
此LINQ查询被转换为以下SQL语句-- This is my spatial query!SELECT TOP(__p_1) [p].[Id], [p].[Location]
FROM [People] AS [p]
ORDER BY [p].[Location].STDistance(__myLocation_0) DESC
可以TagWith()在同一查询上多次调用。查询标签是累积的。例如给定以下方法private static IQueryablePerson GetNearestPeople(SpatialContext context, Point myLocation) from f in context.People.TagWith(GetNearestPeople)orderby f.Location.Distance(myLocation) descendingselect f;private static IQueryableT LimitT(IQueryableT source, int limit) source.TagWith(Limit).Take(limit);
以下查询var results Limit(GetNearestPeople(context, new Point(1, 2)), 25).ToList();
转换为-- GetNearestPeople-- LimitSELECT TOP(__p_1) [p].[Id], [p].[Location]
FROM [People] AS [p]
ORDER BY [p].[Location].STDistance(__myLocation_0) DESC
也可以使用多行字符串作为查询标签。例如var results Limit(GetNearestPeople(context, new Point(1, 2)), 25).TagWith(This is a multi-line
string).ToList();
产生以下SQL-- GetNearestPeople-- Limit-- This is a multi-line
-- stringSELECT TOP(__p_1) [p].[Id], [p].[Location]
FROM [People] AS [p]
ORDER BY [p].[Location].STDistance(__myLocation_0) DESC
查询标签不可参数化EF Core始终将LINQ查询中的查询标签视为包含在生成的SQL中的字符串文字。不允许将查询标记作为参数的已编译查询。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/911969.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!