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的问题,总觉得理解的很不到位,也请大家原谅,这也是为什 ...
随机推荐
- 2.5.4 华丽的 printf 输出
如同echo命令,printf命令可以输出简单的字符串: [many@avention my_sh]$ printf "Hello, world\n" ...
- Codeforces Beta Round #91 (Div. 1 Only) E. Lucky Array
E. Lucky Array Petya loves lucky numbers. Everybody knows that lucky numbers are positive integers w ...
- vue.js编程式路由导航 --- 由浅入深
编程式路由导航 实例中定义一个方法,这个方法绑定在标签上 然后就设置路由跳转 语法 this.$router.history.push('要跳转路由的地址') <!DOCTYPE html> ...
- UVA 10555 - Dead Fraction(数论+无限循环小数)
UVA 10555 - Dead Fraction 题目链接 题意:给定一个循环小数,不确定循环节,求出该小数用分数表示,而且分母最小的情况 思路:推个小公式 一个小数0.aaaaabbb... 表示 ...
- HDU 5446 CRT+Lucas+快速乘
Unknown Treasure Problem Description On the way to the next secret treasure hiding place, the mathem ...
- How to use eclipse quickly
--> // TODO Quickly find outstanding event 快速查找未完成事件 eg: // TODO Robin --> Templates ...
- oc67--NSString1
// // main.m // NSString基本概念 // Foundation框架,苹果有80多个框架,Foundation有125个头文件. #import <Foundation/Fo ...
- tiny4412 裸机程序 三、关闭看门狗和调用C程序【转】
本文转载自:http://blog.csdn.net/eshing/article/details/37112779 一.原理说明 上是章中大家可能有会觉得奇怪,CPU不是有看门狗嘛?为什么CPU没有 ...
- Python:SMOTE算法——样本不均衡时候生成新样本的算法
Python:SMOTE算法 直接用python的库, imbalanced-learn imbalanced-learn is a python package offering a number ...
- go语言笔记——go环境变量goroot是安装了路径和gopath是三方包路径
Go 环境变量 Go 开发环境依赖于一些操作系统环境变量,你最好在安装 Go 之间就已经设置好他们.如果你使用的是 Windows 的话,你完全不用进行手动设置,Go 将被默认安装在目录 c:/go ...