spl讲解(4)--criteria操作篇

spl讲解(4)--criteria操作篇

ID:19954661

大小:52.00 KB

页数:5页

时间:2018-10-08

spl讲解(4)--criteria操作篇_第1页
spl讲解(4)--criteria操作篇_第2页
spl讲解(4)--criteria操作篇_第3页
spl讲解(4)--criteria操作篇_第4页
spl讲解(4)--criteria操作篇_第5页
资源描述:

《spl讲解(4)--criteria操作篇》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、SmartPersistenceLayer2.0之Criteria操作篇概念以前一篇文章中,描述了实体Entity的操作,很明显,仅仅实体的操作是远远不够的。如:我们经常会根据查询条件从数据库中获取记录集并绑定到DataGrid上,会根据条件进行批量的Update和Delete,为此,在SPL引进了Criteria(标准)的概念,那么在SPL中设计了三种Criteria:RetrieveCriteria(获取标准)这个标准是根据查询条件,排序方式来获取满足条件的数据,可以以DataTable 、实体集的方式来返回。此标准会生成”Select*fromTBwh

2、ere…order…”语句执行UpdateCriteria(更新标准)这个标准是根据条件对一个表进行批量更新,最终会生成”UpdateTBset…where..”语句执行DeleteCriteria(删除标准)这个标准是根据条件对一个表进行批量删除,最终会生成”DeletefromTBwhere…”语句执行这些标准都是针对单一实体,也就是针对一个表的操作,当然对于Update和Delete来说,这些操作已经足够了,可对于Select来说,我们经常会多表查询,所以,关于这种联合查询将会在下一篇的”高级查询篇”中讲解。RetrieveCriteria获取标准这个

3、RetrieveCriteria是针对单一实体的查询,可以定义查询条件,排序方式并以不同的结果返回出来,下面我举一个例子:我们查询二年级的姓刘的学生号pdentEntityriarc=newRetrieveCriteria();,并以学号升序排RetrieveCriteriarc=newRetrieveCriteria(typeof(StudentEntity));//实例化Conditio

4、nc=rc.GetNewCondition();//实例化一个条件c.AddEqualTo(StudentEntity.__GRADE,2);//二年级条件c.AddMatchPrefix(StudentEntity.__Name,’刘’);//匹配’刘’字开头c.OrderBy(StudentEntity.__NO);//按学号排DataTabledt=rc.AsDataTable();//以DataTable方式返回步骤分析:1.实例化一个RetrieveCriteria时要指明是哪个实体类,使用“typeof(实体类名)”2.New一个Conditio

5、n(条件),可以使用此方法New出多个Condition,多个Condition之间是”OR”的关系3.给Condition指定条件,比如使用AddEqualTo(相等)、AddMatchPrefix(前匹配),关于Condition将会专门进行介绍4.使用OrderBy()方法指定排序方式,默认为升序,如果要以降序排序使用:OrderBy(StudentEntity.__NO,false)5.最后以AsDataTable的方式返回DataTable,这可以方便进行DataGrid的数据绑定多种返回方式例子中是采用DataTable进行返回,这也是平时最常用

6、的,SPL中还提供了其他的几种方式:EntityContainer实体集这是指返回结果以实体的集合方式体现,对于实体集的操作是非常简单的:EntityContainerec=rc.AsEntityContainer();for(inti=0;i

7、or();if(oc.HasObject()){StudentEntitystudent=(StudentEntity)oc.NextObject();….//得到实体后可以进行自己的操作}在以游标返回后,进行操作前,一定要以HasObject()进行判断,以免抛出异常EntityObject单实体SPL在2.0中增加了以EntityObject单实体的返回方式,大家觉得奇怪了,RetrieveCriteria是返回多记录的,这个单实体是何意了。我们有时候会遇到一种情况,通过”侯选主键”来进行查询,所谓”侯选主键”就是非主键,但可以确定也是唯一的,比如学生表

8、中的学号,但在数据表中学号不是主键,不能用Entit

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。