zoukankan      html  css  js  c++  java
  • NHibernate系列学习(三)-条件查询Criteria

    1.本笔记主要介绍Criteria的使用

    2.效果界面

    image

    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", 10));
                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",10));
                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", 10));
                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 = 18;
                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", 17, 19))
                    .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",17,18));
                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.代码下载

    更多精彩内容请看:http://www.cnblogs.com/2star
  • 相关阅读:
    [Web 前端] CSS 盒子模型,绝对定位和相对定位
    [Android Pro] 跨平台反编译工具 jadx (ubuntu亲测 可用)
    [Web 前端] Jquery 复制元素,并修改属性, 追加到另一个元素后面
    [Web 前端 ] Jquery attr()方法 获取或修改 对象的属性值
    [Web 前端] Jquery实现可直接编辑的表格
    [Web 前端] td长度固定,内容过长,超过部分用省略号代替
    [Network] okhttp3与旧版本okhttp的区别分析
    [Android Pro] AndroidStudio IDE界面插件开发(进阶篇之Editor)
    graph embedding 使用方法
    win10 'make' 不是内部或外部命令
  • 原文地址:https://www.cnblogs.com/kimisme/p/4628833.html
Copyright © 2011-2022 走看看