NHibernate -- HQL
使用NHibernate中的HQL来查询数据。
代码:
1 /// <summary> 2 /// 查找事件 3 /// </summary> 4 private void btn_Select_Click(object sender, EventArgs e) 5 { 6 7 }
1.查询,且是使用参数:
1 //**** 查询 ***** 2 IQuery query = session.CreateQuery("from Person p where p.Id = ? and p.Name = :name"); 3 4 //NHibernate中使用参数 5 //一种是用 "?" ,一种使用 ":"。如果使用?,那么直接表示位置,如果使用:,那么使用:后面的文件名 6 //在NHibernate中的语句: 7 //NHibernate: select person0_.Id as Id0_, person0_.Name as Name0_ from Person person0_ where person0_.Id=@p0 and person0_.Name=@p1;@p0 = 2, @p1 = ‘事件aaaaaaaa‘ 8 //此时 0 代表是第一个参数 9 //此时 1 代表是第二个参数 10 query.SetParameter(0, 2); //使用 ? 11 query.SetParameter("name", "测试"); //使用 : 12 13 IList<Person> list = query.List<Person>(); 14 15 this.label3.Text = list[0].Id.ToString() + list[0].Name.ToString();
2.查询--指定查询的条数,如从第2条--第5条数据:
1 //**** 查询指定行数**** 2 IQuery query = session.CreateQuery("from Person"); 3 4 IList<Person> list = query.List<Person>(); 5 6 //重新给list赋值 7 //查询3--5条之间的数据,使用的是下标索引,0代表第一条。 8 list = list.Skip<Person>(3).Take<Person>(5).ToList<Person>(); 9 10 this.label3.Text = list[2].Id.ToString() + " " + list[2].Name.ToString();
将1或是2,放在最上面的代码中即可。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。