WCF RIA Services下集成NHIBERNATE的方法技术

技术编号:12567283 阅读:88 留言:0更新日期:2015-12-23 10:40
本发明专利技术的WCF RIA Services下集成NHIBERNATE的方法,其关键特征在于,后端采用NHIBERNATE进行数据存储,在微软WCF RIA Services技术下采用NHIBERNATE技术替换微软Entity Framework技术,使得所开发的信息系统前端采用微软Silverlight技术,传输端采用微软WCF RIA Services技术,后端采用NHIBERNATE技术,最终向型号研制人员提供良好的微软Silverlight富客户端UI的前提下,后端依然采用健壮稳定的NHIBERNATE技术提供数据存储服务,保证了数据访问的稳定性和数据库的兼容性。

【技术实现步骤摘要】

本专利技术属于架构扩展领域,尤其涉及一种。
技术介绍
随着型号研制任务的增长以及研制周期的缩短,型号急迫需要一套敏捷、稳定、兼容性强的B/S结构的数据管理软件开发框架来加速研制进度。通过调研选型,确定采用微软Silverlight技术作为前端底层技术为型号提供服务,不过在数据访问方面默认微软Silverlight技术采用WCF RIA Services技术作为数据访问协议,服务器端需采用微软Entity Framework技术,由于微软Entity Framework技术推出时间较短,对相关数据库产品的支持程度也有待验证,所以在数据访问层面可能会产生如下问题:1.Entity Framework数据访问的稳定性问题;2.Entity Framework增加了员工的学习成本;3.Entity Framework对数据库的兼容性还有待验证;4.Entity Framework对数据库的底层事务控制能力弱;Entity Framework内实体对象自定义属性配置的自由度差。
技术实现思路
为解决上述问题,本专利技术提供一种,其在提供良好的微软Silverlight富客户端UI的前提下,后端依然采用健壮稳定的NHIBERNATE技术提供数据存储服务。本专利技术的WCF RIA Services 下集成 NHIBERNATE 的方法,NHIBERNATE 应用于 B/S结构数据管理系统,该B/S结构数据管理系统包括:前端、传输端和后端,其中:前端采用Silverlight对从后端传输来的数据进行数据管理,数据管理包括:数据的增加、删除、修改和查询;传输端采用WCF RIA Services在前端和后端之间进行数据传输;其关键特征在于,后端采用NHIBERNATE进行数据存储,实现方法为: 步骤I,在后端对NHIBERNATE所管理的实体对象的主键字段通过WCF框架数据主键标记注解属性 System.ComponentModel.DataAnnotat1ns.Key 进行注解;步骤2,通过写一个RIA类实现非托管资源释放接口 System.1disposable,并用WCF RIA框架下标记发布访问类的注解属性System.ServiceModel.DomainServices.Hosting.EnableClientAccess 对非托管资源释放接口 System.1disposable 进行注解,从而在后端实现WCF RIA Services类;步骤2包括:步骤21和步骤22,具体内容如下:步骤21,在上述RIA类中实现NHIBERNATE的SESS1N与TRASACT10N的打开与释放,实现方法为步骤221至步骤224:步骤221,打开 SESS1N 连接与 TRASACT10N 事务;步骤222,利用提交事务Submit方式进行事务提交,若事务提交出错执行步骤223,若提交事务完成执彳丁步骤224 ;步骤223,利用异常处理OnError方式进行事务回滚,完成后执行步骤224 ;步骤224,利用资源回收Dispose方式关闭SESS1N连接与TRASACT10N事务;步骤22,在上述RIA类中对NHIBERNATE所管理的实体对象分别对增、删、改、查四个方法进行命名,命名方法如下:(I)增加方法:公有类型返回值为空的方法名以insert开头,其对应的实体对象类型输入参数为实体对象名entity,表示为:public void Insert实体对象类型(实体对象名entity);(2)删除方法:公有类型返回值为空的方法名以Delete开头,其对应的实体对象类型输入参数为实体对象类型entity,表示为:public void Delete实体对象类型(实体对象类型entity);(3)修改方法:公有类型返回值为空的方法名以Update开头,其对应的实体对象类型输入参数为实体对象类型entity,表示为:public void Update实体对象类型(实体对象类型entity);(4)查询方法:公有类型返回值为空的方法名以IQueryable开头,其对应的实体对象类型输入参数为实体对象类型Get,表示为:public IQueryable〈实体对象类型〉Get实体对象名O步骤3,在前端更新WCF RIA Services的对象引用,即可对NHIBERNATE所管理的实体对象类型进行增、改、删、查操作。有益效果:在微软WCF RIA Services技术下采用NHIBERNATE技术替换微软EntityFramework技术,使得所开发的信息系统前端采用微软Silverlight技术,传输端采用微软WCF RIA Services技术,后端采用NHIBERNATE技术,最终向型号研制人员提供良好的微软Silverlight富客户端UI的前提下,后端依然采用健壮稳定的NHIBERNATE技术提供数据存储服务,保证了数据访问的稳定性和数据库的兼容性。【附图说明】图1为本专利技术的示意图;图2为本专利技术的中后端代码示例图。图3为本专利技术的中前端代码示例图。【具体实施方式】本专利技术是在微软WCF RIA Services技术下采用NHIBERNATE技术替换微软EntityFramework技术,使得所开发的信息系统前端采用微软Silverlight技术,传输端采用微软WCF RIA Services技术,后端采用NHIBERNATE技术,最终向型号研制人员提供良好的微软Silverlight富客户端UI的前提下,后端依然采用健壮稳定的NHIBERNATE技术提供数据存储服务。如图1所示,基于微软Silverlight技术的B/S架构分为前端、传输端、后端与数据库四个范畴,本专利技术是在微软Silverlight技术强制使用的微软WCF RIA Services架构下替换掉自带的Entity Framework技术,采用NHIBERNATE技术替代。用NHIBERNATE技术替换微软Entity Framework技术,并且需要保证能正常通过微软WCF RIA Services技术进行数据传输,必须从实体对象与DomainService两个方面实现,实现步骤如下,后端代码示当前第1页1 2 本文档来自技高网...

【技术保护点】
一种WCF RIA Services下集成NHIBERNATE的方法,NHIBERNATE应用于B/S结构数据管理系统,该B/S结构数据管理系统包括:前端、传输端和后端,其中:前端采用Silverlight对从后端传输来的数据进行数据管理,数据管理包括:数据的增加、删除、修改和查询;传输端采用WCF RIA Services在前端和后端之间进行数据传输;其特征在于,后端采用NHIBERNATE进行数据存储,实现方法为:步骤1,在后端对NHIBERNATE所管理的实体对象的主键字段通过WCF框架数据主键标记注解属性System.ComponentModel.DataAnnotations.Key进行注解;步骤2,通过写一个RIA类实现非托管资源释放接口System.Idisposable,并用WCF RIA框架下标记发布访问类的注解属性System.ServiceModel.DomainServices.Hosting.EnableClientAccess对非托管资源释放接口System.Idisposable进行注解,从而在后端实现WCF RIA Services类;步骤2包括:步骤21和步骤22,具体内容如下:步骤21,在上述RIA类中实现NHIBERNATE的SESSION与TRASACTION的打开与释放,实现方法为步骤221至步骤224:步骤221,打开SESSION连接与TRASACTION事务;步骤222,利用提交事务Submit方式进行事务提交,若事务提交出错执行步骤223,若提交事务完成执行步骤224;步骤223,利用异常处理OnError方式进行事务回滚,完成后执行步骤224;步骤224,利用资源回收Dispose方式关闭SESSION连接与TRASACTION事务;步骤22,在上述RIA类中对NHIBERNATE所管理的实体对象分别对增、删、改、查四个方法进行命名,命名方法如下:(1)增加方法:公有类型返回值为空的方法名以insert开头,其对应的实体对象类型输入参数为实体对象名entity,表示为:public void Insert实体对象类型(实体对象名entity);(2)删除方法:公有类型返回值为空的方法名以Delete开头,其对应的实体对象类型输入参数为实体对象类型entity,表示为:public void Delete实体对象类型(实体对象类型entity);(3)修改方法:公有类型返回值为空的方法名以Update开头,其对应的实体对象类型输入参数为实体对象类型entity,表示为:public void Update实体对象类型(实体对象类型entity);(4)查询方法:公有类型返回值为空的方法名以IQueryable开头,其对应的实体对象类型输入参数为实体对象类型Get,表示为:public IQueryable<实体对象类型>Get实体对象名()步骤3,在前端更新WCF RIA Services的对象引用,即可对NHIBERNATE所管理的实体对象类型进行增、改、删、查操作。...

【技术特征摘要】

【专利技术属性】
技术研发人员:陈炜钊谢政王嘉春杜朝史向东范海涛
申请(专利权)人:北京空间飞行器总体设计部
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1