EF Core 没有直接提供像 EF6 那样方便的在日志中记录最终生成的 SQL 的功能,可以通过官方提供的日志记录(Microsoft.Extensions.Logging)实现. 一. 使用 Microsoft.Extensions.Logging.Debug 查看生成的SQL语句 1. 创建项目, 连接数据库(过程略,参考文档) 2. 通过nuget添加引用 Microsoft.Extensions.Logging.Debug 3. 找到EF的DbContext文件,头部引用 using…
用sqlsever追踪最后的sql语句. 返回IQueryable<T>类型, 里面封装的就是生成的SQL脚本,设置断点queryable = DataContext.Set<T>().Where<T>(whereLambda).AsQueryable(); queryable 右键快速监视, 或者ToString()返回字符串类型直接打印输出都能看到sql脚本. 打开SQLServer - 工具 - SQL Server Profiler 上查看执行的SQL语句.…
最近接触到一个用Spring.Net结合NHIbernate的项目,第一次使用,有很多配置,数据操作一旦出问题,很难找到原因,那么如何查看NHibernate发送给数据库的SQL语句呢? 当然我们可以通过log4net记录日志来查看,但稍微有些繁琐,于是找到了另一种方法来查看. NHIbernate中的IInterceptor接口中定义的OnPrepareStatement(SqlString sql)可以观察到生成的sql,由EmptyInterceptor来实现. [Serializable…
使用Nhibernate开发一般都要对Nhibernate生成的sql语句进行查看及分析,查看Nhibernate生成的sql语句,可以使用NHProfiler和log4net.但NHProfiler是要付费的(当然,在天朝,你懂的……),用log4net配置比较麻烦.今天在网上查看Linq to Nhibernate资料的时候发现了一个工具LinqPad,于是又找了相关资源,发现它还真能实现Nhibenate语句的查看.废话少说,看下面的使用方法吧! 1. 下载LinqPad,地址:http:…
查看Linq to Sql生成的sql语句   在控制台项目中,比较简单,直接db.Log = Console.Out;就OK了 但是在其他项目中,需要处理如下: StreamWriter sw = new StreamWriter("F:\\Linqlog.txt", true); db.Log = sw; ......//Linq to Sql代码 sw.Close(); 然后就可以去txt文件中查看了…
问题描述 为了在oracle中新增表,在PDM中建表,使用其生成的sql语句,但是建表不能成功,提示 ORA-00906: 缺失左括号 原因是多了clustered 关键字 情景重现 1. 新建一个pdm文件 2. 建表后预览sql 是有clustered 这个关键字的 3. 建表时报错 问题解决 调查发现数据库的问题,右键数据库属性 查看DBMS 发现是 SQL SERVER ! 解决办法就是切换DBMS: 点击确定 再次查看sql语句,一切正常.问题最终解决.…
查看锁表进程SQL语句   set pagesize 999 set line180 col ORACLE_USERNAME for a18 col OS_USER_NAME for a18 col OBJECT_NAME  for a24 select sess.sid,     sess.serial#,     lo.oracle_username,     lo.os_user_name,     ao.object_name,     lo.locked_mode     from v…
最近这两天在使用控制台程序学习EFCore,突然想看看生成的SQL语句,所以在网上找到一位大神的分享的方法! 准备工作: 1). MySqlEFCore NuGet:   Pomelo.EntityFrameworkCore.MySql     (要2.0.0版本或与下面的NuGet包版本一致)   2). 查看sql语句的扩展包: Pomelo.EntityFrameworkCore.Extensions.ToSql -Version 2.0.0-rtm-10002  (建议使用install…
目录 .NET Core实用技巧(一)如何将EF Core生成的SQL语句显示在控制台中 前言 笔者最近在开发和维护一个.NET Core项目,其中使用几个非常有意思的.NET Core相关的扩展,在此总结整理一下. EF Core性能调优 如果你的项目中使用了EF Core, 且正在处于性能调优阶段,那么了解EF Core生成的SQL语句是非常关键的.那么除了使用第三方工具,如何查看EF Core生成的SQL语句呢?这里笔者将给出一个基于.NET Core内置日志组件的实现方式. 创建一个实例…
开始 EF6.1也出来不少日子了,6.1相比6.0有个很大的特点就是新增了System.Data.Entity.Infrastructure.Interception 命名空间,此命名空间下的对象可以允许我们更加方便的了解到EF运行时的一些信息,当然我们最想看的还是EF生成的Sql语句,话不多讲,开始干吧; class EFIntercepterLogging : DbCommandInterceptor { private readonly Stopwatch _stopwatch = new…