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的更多相关文章

  1. nhibernate教程(4)--条件查询(Criteria Query)

    NHibernate之旅(4):探索查询之条件查询(Criteria Query) 2008-10-16 18:20 by 李永京, 44341 阅读, 43 评论, 收藏,  编辑 本节内容 NHi ...

  2. NHibernate初学三之条件查询(Criteria Queries)与AspNetPager分页实例

    NHibernate除了SQL与HQL两种查询操作外,还有一种就是条件查询Criteria,本文将从网上整理一些Criteria的理论及小实例,最后通过一个结合AspNetPager分页来加深理解,必 ...

  3. [NHibernate]条件查询Criteria Query

    目录 写在前面 文档与系列文章 条件查询 一个例子 总结 写在前面 上篇文章介绍了HQL查询,我个人觉得使用ORM框架就是为了让少些sql,提高开发效率,而再使用HQL就好像还是使用sql,就觉得有点 ...

  4. [转]NHibernate之旅(4):探索查询之条件查询(Criteria Query)

    本节内容 NHibernate中的查询方法 条件查询(Criteria Query) 1.创建ICriteria实例 2.结果集限制 3.结果集排序 4.一些说明 根据示例查询(Query By Ex ...

  5. 条件查询Criteria

    public User getUserByNameCri(String name){ Session session = null; User user = null; try { session = ...

  6. Hibernate QBC 条件查询(Criteria Queries) and Demos

    目录 创建一个Criteria 实例 限制结果集内容 结果集排序 关联 动态关联抓取 查询示例 投影Projections聚合aggregation和分组grouping 离线detached查询和子 ...

  7. Hibernate动态条件查询(Criteria Query)

    1.创建一个Criteria实例net.sf.hibernate.Criteria这个接口代表对一个特定的持久化类的查询.Session是用来制造Criteria实例的工厂. Criteria cri ...

  8. hibernate Criteria(条件查询接口)

    Criteria(条件查询接口) // 1.简单查询 List<Customer> list = session.createCriteria(Customer.class).list() ...

  9. [NHibernate]N+1 Select查询问题分析

    目录 写在前面 文档与系列文章 N+1 Select查询问题分析 总结 写在前面 在前面的文章(延迟加载,立即加载)中都提到了N+1 Select的问题,总觉得理解的很不到位,也请大家原谅,这也是为什 ...

随机推荐

  1. Codeforces 938C - Constructing Tests

    传送门:http://codeforces.com/contest/938/problem/C 给定两个正整数n,m(m≤n),对于一个n阶0-1方阵,其任意m阶子方阵中至少有一个元素“0”,则可以求 ...

  2. mysql function 查询子级机构

    DROP FUNCTION IF EXISTS queryChildOrgList;CREATE FUNCTION queryChildOrgList(id VARCHAR(20))RETURNS V ...

  3. Postman用法简介----https://blog.csdn.net/flowerspring/article/details/52774399

    https://blog.csdn.net/flowerspring/article/details/52774399 Postman用法简介

  4. [luoguP1433] 吃奶酪(DP || Dfs)

    传送门 深搜加剪纸可A(O(玄学) 1274ms) ——代码 #include <cmath> #include <cstdio> #include <iostream& ...

  5. noip模拟赛 排列

    [问题描述] 给出一个随机的排列,请你计算最大值减最小值的差小于等于0~n-1的区间分别有多少个. 输入格式 输入文件名为sum.in. 第一行一个数T(<=10),表示数据组数 对于每一组数据 ...

  6. Frame Stacking 拓扑排序 图论

    Description Consider the following 5 picture frames placed on an 9 x 8 array. ........ ........ .... ...

  7. 安装Ubuntu 16.04时出现:没有定义根文件系统,请到分区菜单修改

    在安装Ubuntu 16.04时,尤其是选项空闲硬盘新建分区安装时,容易出现这种情况,这个是由于没有配置挂载点导致的,解决方法如下: 在挂在点输入“/”. 原理: Linux和Windows的文件系统 ...

  8. JFrame实现批量获取Android安装包安全证书MD5

    今天遇到一个需求.获取全部apk的签名的MD5.以下是我使用Java SE实现的一个工具.贴出核心源码.希望给有须要的朋友有所帮助. 界面例如以下: 仅仅须要制定.apk文件所在的文件夹就可以,核心代 ...

  9. Domino V8 在 UNIX/Linux 平台上的安装及其常见问题

    在 IBM Bluemix 云平台上开发并部署您的下一个应用. 开始您的试用 Domino V8 的安装需求 Domino V8 可以支持多种平台和操作系统,表1 列出了其支持的各种 UNIX/Lin ...

  10. 黑马程序猿——JAVA基础——IO流

    ----------android培训.java培训.java学习型技术博客.期待与您交流!------------  一. 一.IO流的三种分类方式 1.按流的方向分为:输入流和输出流 2.按流的数 ...