NHibernate系列学习(三)-条件查询Criteria
1.本笔记主要介绍Criteria的使用
2.效果界面

3.代码详情
namespace KimismeDemo
{
public partial class Form3 : Form
{
private ISession session;
private ISessionFactory factory;
private ITransaction trans;
public Form3()
{
InitializeComponent();
} #region 0.0 初始化NH - private void Form3_Load(object sender, EventArgs e)
private void Form3_Load(object sender, EventArgs e)
{
Configuration config = new Configuration().AddAssembly("Kimisme");
factory = config.BuildSessionFactory();
session = factory.OpenSession();
dgvList.AutoGenerateColumns = false;
}
#endregion private void tsmiEqual_Click(object sender, EventArgs e)
{
ICriteria criteria = session.CreateCriteria(typeof (Student));
criteria.Add(Expression.Eq("Age", ));
IList<Student> list = criteria.List<Student>();
dgvList.DataSource = list.ToList(); } private void tsmiGreaterThan_Click(object sender, EventArgs e)
{
ICriteria criteria = session.CreateCriteria(typeof(Student));
criteria.Add(Expression.Gt("Age",));
IList<Student> list = criteria.List<Student>();
dgvList.DataSource = list.ToList();
} private void tsmiLessThan_Click(object sender, EventArgs e)
{
ICriteria criteria = session.CreateCriteria(typeof(Student));
criteria.Add(Expression.Lt("Age", ));
IList<Student> list = criteria.List<Student>();
dgvList.DataSource = list.ToList();
} private void tsmiLike_Click(object sender, EventArgs e)
{
ICriteria criteria = session.CreateCriteria(typeof(Student));
criteria.Add(Expression.Gt("Name", "i"));
IList<Student> list = criteria.List<Student>();
dgvList.DataSource = list.ToList();
} private void tsmiNot_Click(object sender, EventArgs e)
{
//ICriteria criteria = session.CreateCriteria(typeof(Student));
//criteria.Add(Expression.Not());
//IList<Student> list = criteria.List<Student>();
//dgvList.DataSource = list.ToList();
} private void tsmiIsNull_Click(object sender, EventArgs e)
{
ICriteria criteria = session.CreateCriteria(typeof(Student));
criteria.Add(Expression.IsNull("Name"));
IList<Student> list = criteria.List<Student>();
dgvList.DataSource = list.ToList();
} private void tsmiMultiQueryNew_Click(object sender, EventArgs e)
{
ICriteria critera = session.CreateCriteria(typeof (Student));
Student stu =new Student();
stu.Name = "Kim";
stu.Age = ;
critera.Add(Example.Create(stu));
IList<Student> stuList = critera.List<Student>();
dgvList.DataSource = stuList.ToList();
} private void tsmiMultiQueryCriteria_Click(object sender, EventArgs e)
{
IList stuList = session.CreateCriteria(typeof (Student))
.Add(Expression.Like("Name", "%i%"))
.Add(Expression.Between("Age", , ))
.List();
dgvList.DataSource = stuList;
} private void tsmiOr_Click(object sender, EventArgs e)
{
ICriteria criteria = session.CreateCriteria(typeof(Student));
criteria.Add(Expression.Or(Expression.Eq("Name","Kim"),Expression.Eq("Name","Lily")));
IList<Student> list = criteria.List<Student>();
dgvList.DataSource = list.ToList();
} private void tsmiBetween_Click(object sender, EventArgs e)
{
ICriteria criteria = session.CreateCriteria(typeof(Student));
criteria.Add(Expression.Between("Age",,));
IList<Student> list = criteria.List<Student>();
dgvList.DataSource = list.ToList();
} private void tsmiIn_Click(object sender, EventArgs e)
{
ICriteria criteria = session.CreateCriteria(typeof(Student));
criteria.Add(Expression.In("Name",new string[]{"Kim","Lily"}));
IList<Student> list = criteria.List<Student>();
dgvList.DataSource = list.ToList();
}
}
}
5.代码下载
NHibernate系列学习(三)-条件查询Criteria的更多相关文章
- nhibernate教程(4)--条件查询(Criteria Query)
NHibernate之旅(4):探索查询之条件查询(Criteria Query) 2008-10-16 18:20 by 李永京, 44341 阅读, 43 评论, 收藏, 编辑 本节内容 NHi ...
- NHibernate初学三之条件查询(Criteria Queries)与AspNetPager分页实例
NHibernate除了SQL与HQL两种查询操作外,还有一种就是条件查询Criteria,本文将从网上整理一些Criteria的理论及小实例,最后通过一个结合AspNetPager分页来加深理解,必 ...
- [NHibernate]条件查询Criteria Query
目录 写在前面 文档与系列文章 条件查询 一个例子 总结 写在前面 上篇文章介绍了HQL查询,我个人觉得使用ORM框架就是为了让少些sql,提高开发效率,而再使用HQL就好像还是使用sql,就觉得有点 ...
- [转]NHibernate之旅(4):探索查询之条件查询(Criteria Query)
本节内容 NHibernate中的查询方法 条件查询(Criteria Query) 1.创建ICriteria实例 2.结果集限制 3.结果集排序 4.一些说明 根据示例查询(Query By Ex ...
- 条件查询Criteria
public User getUserByNameCri(String name){ Session session = null; User user = null; try { session = ...
- Hibernate QBC 条件查询(Criteria Queries) and Demos
目录 创建一个Criteria 实例 限制结果集内容 结果集排序 关联 动态关联抓取 查询示例 投影Projections聚合aggregation和分组grouping 离线detached查询和子 ...
- Hibernate动态条件查询(Criteria Query)
1.创建一个Criteria实例net.sf.hibernate.Criteria这个接口代表对一个特定的持久化类的查询.Session是用来制造Criteria实例的工厂. Criteria cri ...
- hibernate Criteria(条件查询接口)
Criteria(条件查询接口) // 1.简单查询 List<Customer> list = session.createCriteria(Customer.class).list() ...
- [NHibernate]N+1 Select查询问题分析
目录 写在前面 文档与系列文章 N+1 Select查询问题分析 总结 写在前面 在前面的文章(延迟加载,立即加载)中都提到了N+1 Select的问题,总觉得理解的很不到位,也请大家原谅,这也是为什 ...
随机推荐
- 【Codeforces 644A】Parliament of Berland
[链接] 我是链接,点我呀:) [题意] 题意 [题解] https://blog.csdn.net/V5ZSQ/article/details/70873661 看这个人的吧. [代码] #incl ...
- [ZJOI2009]硬币游戏
Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 920 Solved: 406[Submit][Status][Discuss] Descriptio ...
- Win32编程API 基础篇 -- 4.消息循环
消息循环 理解消息循环 为了编写任何即使是最简单的程序,了解windows程序的消息循环和整个消息发送结构是非常有必要的.既然我们已经尝试了一点消息处理的东西,我们应该对整个程序有更深入的理解,如果你 ...
- Linux基本命令总结(初学者可以借鉴学习)
Linux基本常用命令 个人在平时项目中用到的一些常规命令总结下 删除文件夹命令:rm -rf 目录名字 添加模式:按i 退出编辑模式:ese左上角键 首先先按esc退出进入一个模式然后再输入wq或者 ...
- mybatis mapper文件sql语句传入hashmap参数
1.怎样在mybatis mapper文件sql语句传入hashmap参数? 答:直接这样写map就可以 <select id="selectTeacher" paramet ...
- docker: 定时检查docker container的运行状态并发邮件报警
首先创建一个发送邮件的bash脚本 - send_mail.sh: #!/bin/bash curl -s --user 'api:key-xxxxxxxxxxxxx' \ https://api.m ...
- win7下登入本機、域的正確方法
win7的登入与以前的windows系统有所不同,如果win7的电脑已经被加入到域後,登入有两种类别: 1: 要登入到域,直接输入域用户账号和密码. 2:要登入到本机,则要输入计算机名\本机用户账号和 ...
- Java中的equals()和hashCode()
概述 在我们使用类集框架(比方使用hashMap.hashSet)的时候,常常会涉及到重写equals()和hashCode()这两个方法. 这两个方法的联系是: 1. 假设两个对象不同,那么他们的h ...
- 设计模式(一)单例模式:创建模式 ASPNET CORE WEB 应用程序的启动 当项目中 没有STARTUP.CS 类如何设置启动 配置等等
设计模式(一)单例模式:创建模式 先聊一下关于设计的几个原则(1)单一原则(SRP):一个类应该仅有一个引起它变化的原因 :意思就是 (一个类,最好只负责一件事情,并且只有一个引起它变化的原因(2)开 ...
- swift 2.0语法 元组
import UIKit /*: 元祖 * 可以将多个值保存在一起 * 格式: (数值1, 数值2, 数值3) * 特点: 元祖可以保存不同数据类型的值 * 用途: 在C/OC中如果一个函数想返回多个 ...