咨询区

  • nos

请问我如何查看 entity framewrok 生成的 SQL 脚本,我用的是 MySQL Provider 。

回答区

  • Nick Berardi

你可以像下面这样做:

IQueryable query = from x in appEntitieswhere x.id == 32select x;var sql = ((System.Data.Objects.ObjectQuery)query).ToTraceString();

如果你用的是 EF6:

var sql = ((System.Data.Entity.Core.Objects.ObjectQuery)query).ToTraceString();

如果你用的是 EF6.3:

var sql = ((dynamic)flooringStoresProducts).Sql;

上面这三种方式都可以让你看到那生成的 SQL 脚本。

  • isepise

EF6.1 开始, 你不需要再硬编码了,可以直接用 xml 配置拦截器的方式注入到 DataBase Logger 中,比如下面这样:

<interceptors> <interceptor type="System.Data.Entity.Infrastructure.Interception.DatabaseLogger, EntityFramework"> <parameters> <parameter value="C:\Temp\LogOutput.txt"/> <parameter value="true" type="System.Boolean"/> </parameters> </interceptor>
</interceptors>

更多细节,可以参考微软的官方文档:http://msdn.microsoft.com/en-us/data/jj556606

  • Josh Withee

在 EF Core 5.0 中,可以直接调用 Query 的 ToQueryString() 方法即可,参考如下代码:

var query = context.Set<Customer>().Where(c => c.City == city);
Console.WriteLine(query.ToQueryString())

然后就可以看到导入到 SQL SERVER 的 SQL 脚本啦。

DECLARE p0 nvarchar(4000) = N'London';SELECT [c].[CustomerID], [c].[Address], [c].[City], [c].[CompanyName],
[c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone],
[c].[PostalCode], [c].[Region]
FROM [Customers] AS [c]
WHERE [c].[City] = @__city_0

点评区

没想到通过 XML 配置也可以获取 EF 的 SQL,很酷,学习了。

如何捕获 EF 生成的 SQL 脚本?相关推荐

  1. python读取excel指定列-Python读取excel指定列生成指定sql脚本的方法

    需求 最近公司干活,收到一个需求,说是让手动将数据库查出来的信息复制粘贴到excel中,在用excel中写好的公式将指定的两列数据用update这样的语句替换掉. 例如: 有个A库,其中有两个A.01 ...

  2. 在SqlServer中把多个job生成一个sql脚本

    在SqlServer中把多个job生成一个sql脚本 打开sqlserver,找到"查看",选择"对象资源管理器详细信息",双击sqlserver agent, ...

  3. 自动生成卡密SQL脚本(转载)

    Comments - 446 自动生成卡密SQL脚本(转载) Code if exists (select * from dbo.sysobjects where id = object_id(N'[ ...

  4. pd 生成mysql 脚本_Powerdesigner 生成增量SQL脚本

    通过PowerDesigner(下面简称PD) 建立模型非常方便,生成基础结构SQL相信大家都会,网上也有很多例子. 但是作为一个懒人,为了让计算机尽量完成更多的工作,减少人工的出错概率,必须更严格要 ...

  5. PowerDesigner16(PDM)pd生成数据库sql脚本

    今天使用PowerDesigner16软件生成数据库脚本的时候遇到了一些问题,但是经过不懈努力最终修成正果,下面将小编的经历以及错误解决方案与大家分享. 生成sql脚本步骤 第一步:选择Datavas ...

  6. SQL脚本创建级联_【新年跳槽必备】2020最新(EF/Sql专题)面试题 速领!

    今天是周五啦 听说上期的面试题,有小伙伴觉得做得不过瘾?? Richard老师! 又帮大家整理面试题了一波 这次是 EF/Sql专题 足足40道题~~ 话不多说,直接看题. 第一部分 简答题 1.列举 ...

  7. MySQL 批量生成 SQL 脚本语句解决实际的业务需求/如何拼接字符串/拼接字符串的 SQL 语句

    文章目录 实际需求 分析思路 写拼接 SQL 脚本的脚本语句 执行得到脚本语句 保存成 SQL 脚本文件 实际需求 有些行政区域的字段 area_fullname 是空的,如何补全呢?如下所示: 分析 ...

  8. PowerDesigner--创建概念数据模型;并生成逻辑数据模型/物理数据模型/数据库SQL脚本

    PowerDesigner–创建概念数据模型 Conceptual Data Model 概念数据模型(CDM)帮助您分析信息系统的概念结构,以识别要表示的主要实体.它们的属性以及它们之间的关系. C ...

  9. pd 生成mysql 脚本_PowerDesigner 如何生成数据库更新脚本

    最近在学习使用PowerDesigner 这个数据库设计工具,发现真的很强大,可以做很多事情,其中就涉及到如果数据库要进行更新了怎么办,主要是增加表,最麻烦的是修改字段名称,增加字段等操作,遇到主要的 ...

最新文章

  1. mysql性能优化学习笔记-存储引擎
  2. 公钥密码--Paillier
  3. MyEclipse部署Web项目Servers报错:NullPointerException at com.genuitec.eclipse.ast.deploy.core.Deployment
  4. python动态图片转字符画_使用python实现一个将图片转换成字符画的功能
  5. Python常用的模块的使用技巧
  6. 那些容易遗忘的web前端问题
  7. matlab 基础 —— 文本文件读取
  8. ArcGIS Server学习资料
  9. 协同过滤Collaborative Filtering
  10. ANDROID框架揭秘
  11. bigemap 软件功能对比
  12. matlab 方程组求导,matlab求导及线性方程组的求解
  13. java导出excel图片,数据库中图片如何导出到excel表格-Java 怎么把服务器中的图片导出到excel(图片的路......
  14. 2021-08-27小白笔记3
  15. 使用select2实现多功能下拉框,select2中文api
  16. 实验7 Oracle数据库安全管理
  17. Win2008 - R2 下安装 MsSqlServer2008
  18. 用WCAT进行IIS压力测试
  19. java生成指数分布随机数_生成特定分布随机数的方法
  20. 全球及中国屋顶绿化市场发展动态与十四五展望规划研究报告2022版

热门文章

  1. java虚拟机学习-JVM调优总结-新一代的垃圾回收算法(11)
  2. Mysql日期和时间函数
  3. WEB API:语音识别
  4. Linux命令之tree
  5. java byte转bigdecimal_Java BigDecimal byteValueExact()用法及代码示例
  6. PHP IE中下载附件问题
  7. RabbitMQ 入门教程(PHP版) 第三部分:发布/订阅(Publish/Subscribe)
  8. laravel中使用的PDF扩展包——laravel-dompdf和laravel-snappy
  9. 【转】学会这13个原则写UI界面文案,用户才能秒懂
  10. 关于使用indexedDB的本地存储(2)