索引:

目录索引

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. Azure产品整理

    Azure的文档真是够落地,简明易懂. 计算 Linux 虚拟机:为 Ubuntu.Red Hat 等预配虚拟机 Windows 虚拟机 为 SQL Server.SharePoint 等预配虚拟机 ...

  2. luoguP2260 [清华集训2012]模积和

    题意 \(\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}n\%i*m\%j*[i!=j]\) \(\sum\limits_{i=1}^{n}\sum\limits ...

  3. ActionResult源码分析笔记

    ActionResult是一个抽象类: public abstract class ActionResult { public abstract void ExecuteResult(Controll ...

  4. Linux构建DNS主从服务器

    所有服务器:iptables -Fsystemctl stop firewalldsetenforce 0 配置yum 主服务器:[root@localhost ~]# yum -y install ...

  5. 第02组 Beta冲刺(2/4)

    队名:十一个憨批 组长博客 作业博客 组长黄智 过去两天完成的任务:了解整个游戏的流程 GitHub签入记录 接下来的计划:继续完成游戏 还剩下哪些任务:完成游戏 燃尽图 遇到的困难:没有美术比较好的 ...

  6. 解决win10下IIS下"对路径...的访问被拒绝

    解决方案如下: 1.右击文件夹,安全,添加IUSR和IIS_IUSRS安全控制权限. 2.右击文件夹,常规,查看是否只读.将只读属性去掉.

  7. oracle--10GRAC集群(NFS共享存储)

    一,NFS服务器配置 01, 安装包查看 [root@standby2 ~]# rpm -qa|grep nfs nfs-utils-lib--.el6.x86_64 nfs4-acl-tools-- ...

  8. 基于Django的Rest Framework框架的RESTful规范研究

    一.什么是RESTful规范 总的来说:RESTful规范就是一个非技术,人为约定的一个面向资源的架构理念. REST与技术无关,代表的是一种软件架构风格,REST是Representational ...

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

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

  10. linux 修改oracle的字符集

    select   userenv('language')   from   dual; 命令可以查看服务端的使用的字符集. ssh登录,切换到oracle用户 切换用户命令:su -oracle 之后 ...