索引:

目录索引

SQL Debug 信息说明

一. 对 XConnection 对象 未开启 OpenDebug, 在 VS  状态下,将默认在 VS 窗口 打印出 参数化的 SQL 执行语句:

    新增:

             var m1 = new BodyFitRecord
{
Id = Guid.Parse("1fbd8a41-c75b-45c0-9186-016544284e2e"),
CreatedOn = DateTime.Now,
UserId = Guid.NewGuid(),
BodyMeasureProperty = "{xxx:yyy,mmm:nnn}"
}; var res1 = await Conn.CreateAsync(m1);

    以 MySQL 为例,生成 参数化 SQL ,在 VS 输出窗口 如下:

    删除:

             var res2 = await Conn
.Deleter<BodyFitRecord>()
.Where(it => it.Id == Guid.Parse("1fbd8a41-c75b-45c0-9186-016544284e2e"))
.DeleteAsync();

    以 MySQL 为例,生成 参数化 SQL ,在 VS 输出窗口 如下:

    修改:

  var pk1 = Guid.Parse("8f2cbb64-8356-4482-88ee-016558c05b2d");

  var model = new AlipayPaymentRecord();
model.Description = "new desc"; // 修改 AlipayPaymentRecord 字段 Description 的值为: "new desc"
model.PaymentUrl = "new url"; // 修改 AlipayPaymentRecord 字段 PaymentUrl 的值为: "new url" // 修改一条数据: AlipayPaymentRecord
var res1 = await Conn.UpdateAsync<AlipayPaymentRecord>(it => it.Id == pk1, //where条件:it=>it.Id==pk1,可输入任意条件的表达式
new
{
model.Description, // 修改 AlipayPaymentRecord 字段 Description 的值
model.PaymentUrl // 修改 AlipayPaymentRecord 字段 PaymentUrl 的值
});

    以 MySQL 为例,生成 参数化 SQL ,在 VS 输出窗口 如下:

    查询:

             var res1 = await Conn
.Queryer(out Agent agent, out AgentInventoryRecord record)
.From(() => agent)
.InnerJoin(() => record)
.On(() => agent.Id == record.AgentId)
.QueryPagingAsync(, , () => agent.Name);

    以 MySQL 为例,生成 参数化 SQL ,在 VS 输出窗口 如下:

二. 对 XConnection 对象 开启 OpenDebug, 在 VS  状态下,将在 VS 窗口 打印出 非参数化的 SQL 执行语句:

    新增:

             var list = new List<AddressInfo>();
for (var i = ; i < ; i++)
{
if (i % == )
{
list.Add(new AddressInfo
{
Id = Guid.NewGuid(),
CreatedOn = DateTime.Now,
ContactName = "Name_" + i.ToString(),
ContactPhone = "" + i.ToString(),
DetailAddress = "Address_" + i.ToString(),
IsDefault = true, // f:bool c:bit(1)
UserId = Guid.NewGuid()
});
}
else
{
list.Add(new AddressInfo
{
Id = Guid.NewGuid(),
CreatedOn = DateTime.Now,
ContactName = "Name_" + i.ToString(),
ContactPhone = "" + i.ToString(),
DetailAddress = "Address_" + i.ToString(),
IsDefault = false, // f:bool c:bit(1)
UserId = Guid.NewGuid()
});
}
} var res1 = await Conn2.OpenDebug().CreateBatchAsync(list);

    以 Sql Server 为例,生成 非参数化 SQL ,在 VS 输出窗口 如下:

    删除:

             var res2 = await Conn.OpenDebug()
.Deleter<Agent>()
.Where(it => it.PathId == path)
.Or(it => it.AgentLevel == (AgentLevel)level)
.DeleteAsync();

    以 MySQL 为例,生成 非参数化 SQL ,在 VS 输出窗口 如下:

    修改:

             // 多 字段 多 set 用法
var res1 = await Conn.OpenDebug()
.Updater<BodyFitRecord>() // 更新表 BodyFitRecord
.Set(it => it.CreatedOn, DateTime.Now) // 设置字段 CreatedOn 值
.Set(it => it.BodyMeasureProperty, "{xxx:yyy,mmm:nnn,zzz:aaa}") // 设置字段 BodyMeasureProperty 值
.Where(it => it.Id == m.Id)
.UpdateAsync();

    以 MySQL 为例,生成 非参数化 SQL ,在 VS 输出窗口 如下:

    查询:

             var res5 = await Conn.OpenDebug()
.Queryer(out Agent agent5, out AgentInventoryRecord record5)
.From(() => agent5)
.InnerJoin(() => record5)
.On(() => agent5.Id == record5.AgentId)
.Where(() => agent5.AgentLevel == AgentLevel.DistiAgent) // const enum ==
.QueryListAsync<AgentInventoryRecord>();

    以 MySQL 为例,生成 非参数化 SQL ,在 VS 输出窗口 如下:

三. 其它情况 说明:

  a.在 VS 状态下,无论你是否打开 .OpenDebug(),都不会在 窗口 输出 sql 语句

  b..OpenDebug() 方法 有一个 DebugEnum 可选枚举参数,默认输出到 VS 输出窗口,当指定 DebugEnum.Console 时,

    会输出到 控制台 窗口,这时 在控制台窗口 无论程序是 debug 还是 release 状态运行 都会打印出 非参数化 sql 语句。

                                         蒙

                                    2019-05-20 17:19 周一

MyDAL - .OpenDebug() 与 Visual Studio 输出窗口 使用的更多相关文章

  1. web项目 在visual studio 输出窗口显示调试信息

    //始终显示 Trace.WriteLine(“要显示的调试信息”); //调试时显示 Debug.WriteLine(“要显示的调试信息”);

  2. Visual Studio 重置窗口布局

    Visual Studio 重置窗口布局

  3. Visual Studio命令窗口

    命令”窗口用于直接在 Visual Studio 集成开发环境 (IDE) 中执行命令或别名.可以执行菜单命令和不在任何菜单上显示的命令.若要显示“命令”窗口,请从“视图”菜单中选择“其他窗口”,再选 ...

  4. Visual Studio调试窗口一闪而过的解决方法

    小编在用vs写程序时,经常碰到调试窗口一闪而过的情况,以至于根本无法查看程序输出结果. 为了解决这个问题,可以在程序的末尾加上一个系统调用语句: int main(){ printf("我不 ...

  5. 安装Visual Studio 时窗口闪过就退出

    双击安装文件,窗口闪了下就退出了. 解决方法:控制面板 ———程序——程序和功能——打开或关闭Windows功能——关闭NET相关框架. 然后再次安装即可. 参考文献:   VS安装程序一闪而过

  6. visual studio 编辑窗口 设置固定选项卡 使窗口选项卡多行显示

    工具>选项> 确定后 如图就可以多行显示了.

  7. 如何:使用 Visual Studio 中的一键式发布来部署 Web 应用程序项目

    原文: 如何:使用 Visual Studio 中的一键式发布来部署 Web 应用程序项目 本主题介绍如何在以下产品中使用 一键式发布 发布(部署)Web 应用程序项目: Visual Studio ...

  8. 教程:在 Visual Studio 中开始使用 Flask Web 框架

    教程:在 Visual Studio 中开始使用 Flask Web 框架 Flask 是一种轻量级 Web 应用程序 Python 框架,为 URL 路由和页面呈现提供基础知识. Flask 被称为 ...

  9. 教程:Visual Studio 中的 Django Web 框架入门

    教程:Visual Studio 中的 Django Web 框架入门 Django 是高级 Python 框架,用于快速.安全及可扩展的 Web 开发. 本教程将在 Visual Studio 提供 ...

随机推荐

  1. python-读取txt文本

    import tensorflow as tf import os with open('test_read.txt', 'r') as file: lines = file.readlines() ...

  2. explain慢SQL分析解释

    使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是 如何处理你的SQL语句的.分析你的查询语句或是表结构的性能瓶颈. 使用方式:Explain+SQL语句 执行计划包含的信 ...

  3. 【转】K-Means聚类算法原理及实现

    k-means 聚类算法原理: 1.从包含多个数据点的数据集 D 中随机取 k 个点,作为 k 个簇的各自的中心. 2.分别计算剩下的点到 k 个簇中心的相异度,将这些元素分别划归到相异度最低的簇.两 ...

  4. 8.19 NOIP模拟测试26(B) 嚎叫响彻在贪婪的厂房+主仆见证了 Hobo 的离别+征途堆积出友情的永恒

    T1 嚎叫响彻在贪婪的厂房 以前做过一个等比数列的题「序列」,这个类似 是等差数列且公差不为1的条件就是各项差的绝对值的$gcd!=1$,每次拿出序列前两个数,求出差值,插入到set里,每次向后扩展, ...

  5. Linux性能优化实战学习笔记:第五讲

    一.什么是CPU的使用率 1.你最常用什么指标来描述系统的CPU性能? 我想你的答案,可能不是平均负载,也不是CPU上下文切换,而是另一个更直观的指标CPU使用率 CPU使用率到底是怎么算出来的吗? ...

  6. 关于阻止百度滥用cookies的想法

    Chrome浏览器支持禁止指定的cookies,因此可以作为阻止百度滥用cookies的突破口,最好的方案应该是制作chrome插件(国内厂商的浏览器基本都是基于谷歌开源的 Chromium计划,基本 ...

  7. 认识beanstalkd

    认识beanstalkd 背景  公司业务做某个需求是将数据写入到消息队列中,然后另外一个服务来消费数据,这里的消息队列使用的是beastalkd,之前接触到的消息队列为kafka,因此简单学习记录一 ...

  8. oracle--ORA-38760

    01,ORA-38760: This database instance failed to turn on flashback 02,问题处理思路 第一步:查看日志文件 查看这次启动的时候alter ...

  9. 《转载》仅需3分钟,你就能明白Kafka的工作原理

    仅需3分钟,你就能明白Kafka的工作原理 周末无聊刷着手机,某宝网 App 突然蹦出来一条消息“为了回馈老客户,女朋友买一送一,活动仅限今天!”. 买一送一还有这种好事,那我可不能错过!忍不住立马点 ...

  10. Java中HashMap和TreeMap的区别

    什么是Map集合在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value.这就是我们平时说的键值对. HashMap ...