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 934D/933B - A Determined Cleanup
传送门:http://codeforces.com/contest/934/problem/D 给定两个正整数p(p≥1).k(k>1).多项式f(x)的系数的取值集合为{0,1,2,...,k ...
- 微信小程序-template模板
============================= 构建template模板 ============================= 1.分析得出共为 ...
- hdu 2014 位运算
/* 注意两点 1.从后往前找互补的,刚开始我找的是相邻的但是这个例子就不行101 110 2.因为时累加所以sum可能会超出int范围,这个很重要. */ #include<stdio.h&g ...
- Swift 对象创建(PUT Object)过程详解——基于副本策略(一)
swift中创建对象,即PUT object,根据选定的存储策略将对象内容写入至相应的服务器(object server).我们重点关注object controller和object servers ...
- 文件处理: read、readline、 readlines()
假设a.txt的内容如下所示: Hello Welcome What is the fuck.. 1. read([size])方法 read([size])方法:从文件当前位置起读取size个字节, ...
- 洛谷—— P2504 [HAOI2006]聪明的猴子
P2504 [HAOI2006]聪明的猴子 题目描述 在一个热带雨林中生存着一群猴子,它们以树上的果子为生.昨天下了一场大雨,现在雨过天晴,但整个雨林的地表还是被大水淹没着,部分植物的树冠露在水面上. ...
- CentOS设置程序开机启动程序/服务的方法(转)
注意:CentOS 6下基本没什么问题,CentOS 7估计不一定能行. 在CentOS系统下,主要有两种方法设置自己安装的程序开机启动. 1.把启动程序的命令添加到/etc/rc.d/rc.loca ...
- url处理函数
function UrlOption(url) { this.url = url || ''; this.init(); this.change = function (url) { this.url ...
- 安装elasticsearch遇到的签名和目标被配置多次的问题
命中:6 http://ppa.launchpad.net/ondrej/php/ubuntu bionic InRelease获取:7 http://packages.elastic.co/elas ...
- 浅谈WEB标准
WEB标准,WEB标准.可亲可爱的WEB,什么是你定下的标准呢.这几天又又一次回归最基础的知识了,OK.言归正传,什么是WEB标准.为什么要用WEB标准? 比方说,如今的浏览器版本号多吧,chrome ...