在过去一周左右的帖子中,有人提到了一个帖子:http://rion.io/2016/10/19/accessing-entity-framework-core-queries-behind-the-scenes-in-asp-net-core/
该博客概述了使用EF的内部结构来显示给定EF查询的生成的SQL。拥有这样的工具是非常宝贵的,并且将帮助我的EF开发团队编写更好的代码。但是,由于它使用内部和不受支持的代码,因此不会使用EF 2.1.4构建。对RelationalQueryModelVisitor的引用现已消失,代码将无法构建。
我也在使用.net core 2.1。
是否有其他或类似的方法?
谢谢。
使用this link中的类,它在.NET Core 2.1中有效。是的,我知道你说你试过了,但我只是尝试了它并且它有效,所以你的项目肯定会出现其他问题。告诉我们你得到的编译器错误,我们可以进一步提供帮助。
这是我做的:
Microsoft.EntityFrameworkCore
2.1.4版。IQueryableExtensions
类并粘贴了代码。它汇编。
RelationalQueryModelVisitor
类仍然存在于.NET Core 2.1中。 documentation shows it is still there(注意文档左上角的“实体框架核心2.1”)和current source code on GitHub仍然在那里显示它。
使用他们的日志功能是否足够?
https://docs.microsoft.com/en-us/ef/core/miscellaneous/logging
public static readonly LoggerFactory MyLoggerFactory
= new LoggerFactory(new[] {new ConsoleLoggerProvider((_, __) => true, true)});
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
=> optionsBuilder
.UseLoggerFactory(MyLoggerFactory) // Warning: Do not create a new ILoggerFactory instance each time
.UseSqlServer(...);
它位于Microsoft.EntityFrameworkCore.Relational nuget包中。