索引:

目录索引

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. Scrapy框架详解

    Python网络爬虫Scrapy框架研究 Scrapy1.0教程 Scrapy笔记(1)- 入门篇 Scrapy笔记(2)- 完整示例 Scrapy笔记(3)- Spider详解 Scrapy笔记(4 ...

  2. 交换机端口与Mac地址绑定(基于Cisco模拟器)

    实验设备: 二层交换机一台,主机三台 实验步骤: 1.进入相应的接口 (以端口1设置Mac地址绑定,PC0接1端口举例) Switch>enable Switch#config Configur ...

  3. 跨交换机VLAN之间的通信(基于Cisco模拟器)

    实验要求: 拓扑结构如下 1.交换机2台:主机4台:网线若干. 2.把主机.交换机进行互联. 3.给2台交换机重命名为A.B. 4.设置2台交换机及主机的ip.注意IP要不冲突 5.在2台交换机上分别 ...

  4. docker--发布docker镜像

    前戏 前面我们自己做了个docker镜像,我们可以上传到docker hub,别人就可以下载使用了 发布到docker hub 我们前面使用docker search 查找的镜像都是从docker h ...

  5. 【day04】PHP

    一. 运算符 1.按功能分  (1)算术运算符  (2)字符运算符  (3)赋值运算符  (4)比较运算符  (5)逻辑运算符  (6)错误抑制符  (7)执行运算符 2.逻辑运算符 : ! & ...

  6. 使用PAC文件来管理代理连接

    生成PAC文件 谷歌浏览器插件商店安装SwitchyOmega,找到立即更新模式,然后导出PAC文件 使用PAC文件 pac采用js编写 Windows Windows上面使用PAC文件很简单,新建一 ...

  7. Windows10 64位部署odoo12开发环境

    预装Windows10 64位家庭版电脑一台 2019年7月 安装Python,这里的版本选择上有个坑,不要装最新的Python 3.7.x,原因是odoo12依赖pillow 4.0.0库,而这个4 ...

  8. Hanlp分词插件docker集群安装

    背景:我是用docker-compose的方式装的es集群,正常情况es镜像没有插件,如果在docker里面用命令安装了那么重启以后又没了,所以采用挂载离线安装的方式 版本: es7.2 1下载Han ...

  9. 版本分支管理标准 - Git Flow

    最近好多开发人员在问如何使用 GIT 进行代码的版本管理. 这里转发一个标准的分支版本控制图. 相关的详细介绍,可以看: <引入git flow分支管理> <非常清晰明了的GIT版本 ...

  10. Github问题:fatal: unable to access 'https://github.com/LIU-HONGYANG/Algorithm.git/': The requested URL returned error: 403

    在向服务器push之后,出现如下问题: The requested URL returned error: 403 解决路径如下: 参考文章: https://stackoverflow.com/qu ...