框架使用-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 ...
随机推荐
- 3.JasperReports学习笔记3-在浏览器生成PDF文件
转自:https://i.cnblogs.com/posts?categoryid=921197 一.新建web工程,导入jasperreports所需的jar包,配置web.xml <serv ...
- 差一点搞混了Transactional注解
今天给我的Srping业务层加如下Service和Transactional注解: @Service @Scope(BeanDefinition.SCOPE_SINGLETON) @Transacti ...
- Spirng+In+Action(Craig Walls Ryan Breidenbach)
目录 1.开始Spring之旅(简介) 2.装配Bean(IoC) 3.创建切面(AOP) ... 第一章:开始Spring之旅 1.1 为什么使用Spring:简化了企业级系统开发. 1.1.1 j ...
- service的生命周期以及两种service的差异
可以看到,两种service的生命周期都相对简单,有一点不同的是,Intentservice每次调用的时候都执行onstartcommand,而boundservice一旦启动了之后,就不会每次执行o ...
- hbase->Mapreduce->hbase
Hbase对Mapreduce API进行了扩展,方便Mapreduce任务读写HTable数据. package taglib.customer; import java.io.IOExceptio ...
- 关于android上dpi/screen-size的厘清解释
android定义了四种screen-size: small normal large xlarge 同时定义了六种dpi级别: ldpi (low) ~120dpimdpi (medium) ~16 ...
- python笔记——均值、方差、中位数计算
from __future__ import print_function # 均值计算 data = [3.53, 3.47, 3.51, 3.72, 3.43] average = float(s ...
- Entity Framework Code-First(6):Database Initialization
Database Initialization: We have seen that Code First creates a database automatically in the Simple ...
- C++基础之类和对象二
(1)指向类的成员的指针分为指向数据成员的指针和指向成员函数的指针两种.一个类的对象用运算符“.*”来操作指向该类成员的指针,而一个指向类的对象的指针用运算符“->”来操作指向该类成员的指针.( ...
- Centos7 安装MySQL 5.7 (通用二进制包)
1.下载安装包 下载地址 https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz ...