框架使用-Sql拼接
Sql语句拼写:
- 查询
- DQueryDom
- DmoQuery(返回的整个对象)
- 更新
- DQUpdateDom
- 删除
- DQDeleteDom
- 条件
- dom.Where.Conditions.Add(DQCondition.Or(DQCondition.Like("Name","检修部"), DQCondition.Like("Spell", "检修部")));
- 排序
- dom.OrderBy.Expressions.Add(DQOrderByExpression.Create("OrderId",false));
- 分组
- dom.GroupBy.Expressions.Add(DQExpression.Field("Name"));
- 自定义查询字段
- dom.Columns.Add(DQSelectColumn.Field("ID"));
- dom.Columns.Add(DQSelectColumn.Count());
- 连接查询
var user = new
JoinAlias(typeof(WpfUser));var bindInfo = new
JoinAlias(typeof(UserBindInfo));var dom = new
DQueryDom(user);dom.From.AddJoin(JoinType.Left, new
DQDmoSource(bindInfo), DQCondition.EQ(user, "ID", bindInfo, "User_ID"));
dom.Columns.Add(DQSelectColumn.Field("ID"));
dom.Columns.Add(DQSelectColumn.Field("Name"));
dom.GroupBy.Expressions.Add(DQExpression.Field("ID"));
dom.GroupBy.Expressions.Add(DQExpression.Field("Name"));
- Session
- using (var context = new
TransactionContext()){
context.Session.ExecuteNonQuery(update);
context.Session.Commit();
}
using (IDmoSession session = Dmo.NewSession()) //好想要引用或者继承什么,否则session为null
{
var list = session.ExecuteList(query);
return list.Cast<WXDept>().ToList();
}
- 执行方法
- DQUpdateDom提交 ExecuteNonQuery
context.Session.ExecuteNonQuery(update);context.Session.Commit();
- DQDeleteDom提交 ExecuteNonQuery
Session.ExecuteNonQuery(del);
- DomQuery提交 ExecuteScalar
var result = (WXAgent)Session.ExecuteScalar(dmo); //DomQuery
return (long?)context.Session.ExecuteScalar(dom); //DQueryDom
- ExecuteList
using (var context = new TransactionContext())
{
var list = context.Session.ExecuteList(dmo);
var userList = list.Cast<UserBindInfo>().ToList();
UserBindInfo bindInfo = null;
if (userList.Count > 0)
{
bindInfo = userList.First();
}
return bindInfo;
}
- ExecuteReader
using (var context = new TransactionContext())
{
using (var reader = context.Session.ExecuteReader(dom))
{
while (reader.Read())
{
yield return new WordPair(reader[0].ToString(), TreeUtil.GetTreePrefix(Convert.ToInt32(reader[2])) + reader[1]);
}
}
}
using (IDmoSession session = Dmo.NewSession())
{
dtWeiXin = session.ExecuteSql(WxSql()).Tables[0];
}
using (IDmoSession session = Dmo.NewSession(ConfigurationManager.AppSettings["cfdBus"]))
{
//session.ExecuteSqlNonQuery(CfdBusSql(dtWeiXin));
session.ExecuteSqlNonQuery(CfdBusSql(dtWeiXin));
session.Commit();自定义sql要提交一下子
}
框架使用-Sql拼接的更多相关文章
- MyBatis框架——动态SQL、缓存机制、逆向工程
MyBatis框架--动态SQL.缓存机制.逆向工程 一.Dynamic SQL 为什么需要动态SQL?有时候需要根据实际传入的参数来动态的拼接SQL语句.最常用的就是:where和if标签 1.参考 ...
- 详解Java的MyBatis框架中SQL语句映射部分的编写
这篇文章主要介绍了Java的MyBatis框架中SQL语句映射部分的编写,文中分为resultMap和增删查改实现两个部分来讲解,需要的朋友可以参考下 1.resultMap SQL 映射XML 文件 ...
- COALESCE在SQL拼接中的大用途
SQL拼接可以使得代码比较灵活,不会那么死板,对于维护也比较方便. 下面是简单的SQL拼接,同时也包含了隐式游标的概念吧,可以遍历表中的每一个字段 -------------------------- ...
- SQL拼接备份数据库
在SQLserver使用脚本备份数据库的时候需要注意的问题是: 1.指向的文件名必须是有读写权限. 2.在使用批量数据库备份时候需要根据自己需求选择性备份. -- ================== ...
- Mybatis.net与MVC入门配置及联合查询动态SQL拼接和简单事务
第一次学习Mybatis.net,在博客园也找到好多资料,但是在配置成功之后也遇到了一些问题,尤其是在动态SQl拼接时候,这里把遇到的问题还有自己写的一个Demo贴出来,希望能帮到新手,有不适合的地方 ...
- SQL拼接方法
smark Beetle可靠.高性能的.Net Socket Tcp通讯组件 另类SQL拼接方法 在编写SQL的时候经常需要对SQL进行拼接,拼接的方式就是直接String+处理,但这种情况有个不好的 ...
- 另类SQL拼接方法
在编写SQL的时候经常需要对SQL进行拼接,拼接的方式就是直接String+处理,但这种情况有个不好的地方就是不能对SQL进行参数化处理.下面介绍一种就算基于String +的方式也可以进行SQL参数 ...
- SQL拼接大法
SQL拼接大法: Step1:括号先写上() Step2:在括号内写上(, , , , , ,) Step3:再写上单引号(,' ' ...
- 多条件搜索问题 -sql拼接与参数化查询
来源:传智播客 免费开发视频. 问题:根据书名或出版社或作者查询书籍信息. using System; using System.Collections.Generic问题; using Syste ...
随机推荐
- WPF x:key和x:name用法
WPF x:key和x:name用法 x:Key用在xaml Resources,ResourceDictionary需要key来访问 x:Name用在ResourceDictionary以外任何地方 ...
- qextserialport打不开com10及以上的串口
需要在portname前添加\\\\.\\这样就可以了!! 例如 QString portname; portname.append("\\\\.\\").append(ui-&g ...
- SSDB VS redis
现在有不少团队开始使用了一个新型高效的 NoSQL数据库 - SSDB,如 京东.唱吧 …… SSDB 官网的定义 一个高性能的支持丰富数据结构的 NoSQL 数据库,用于替代 Redis 官网 ht ...
- MySql中的视图的概念及应用
视图的基本概念 视图是从一个或几个基本表(或者视图)导出的表.它与基本表不同,是一个虚表. 数据库只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中.所以基本表中的数据发生变化, ...
- Ajax 执行流程 有用 一点
l 1.1使用JavaScript获得浏览器内置的AJAX引擎(XMLHttpRequest对象) l 1.2 通过AJAX引擎确定请求路径和请求参数 l 1.3 通知AJAX引擎发送请求 l AJA ...
- CSS, Sass, SCSS 关系
Sass(Syntactically Awesome Style Sheets) ,是一种css预处理器和一种语言, 它可以用来定义一套新的语法规则和函数,以加强和提升CSS. 它有很多很好的特性,但 ...
- Note: File Recipe Compression in Data Deduplication Systems
Zero-Chunk Suppression 检测全0数据块,将其用预先计算的自身的指纹信息代替. Detect zero chunks and replace them with a special ...
- libguestfs知识点
libguestfs 是一组 Linux 下的 C 语言的 API ,用来访问虚拟机的磁盘映像文件.其项目主页是http://libguestfs.org/ , 该工具包内包含的工具有virt-cat ...
- MATLAB解决常微分方程
首先得介绍一下,在matlab中解常微分方程有两种方法,一种是符号解法,另一种是数值解法.在本科阶段的微分数学题,基本上可以通过符号解法解决. 用matlab解决常微分问题的符号解法的关键命令是d ...
- 洛谷P1932 A+B A-B A*B A/B A%B Problem
P1932 A+B A-B A*B A/B A%B Problem 题目背景 这个题目很新颖吧!!! 题目描述 求A.B的和差积商余! 由于数据有修改,减法运算结果可能带负号! 输入输出格式 输入格式 ...