[发明专利]一种silverlight框架下动态创建实体类的方法在审
申请号: | 201310140897.3 | 申请日: | 2013-04-23 |
公开(公告)号: | CN103218230A | 公开(公告)日: | 2013-07-24 |
发明(设计)人: | 马占涛 | 申请(专利权)人: | 浪潮集团山东通用软件有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 silverlight 框架 动态 创建 实体 方法 | ||
技术领域
本发明涉及计算机应用技术领域, 具体地说是一种silverlight框架下动态创建实体类的方法。
背景技术
DataTable 是临时保存数据的网格虚拟表,它无须代码就可以简单的绑定数据库。我们知道数据库中存储的是实体表,实体表中有一系列的数据。而DataTable即存储在内存中的表,在持久化到数据库之前,是不会对数据库产生影响的。在项目开发中经常要用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够提高性能,达到事半功倍的效果。DataTable也有许多方法,如:1.通过构造函数得到DataTable;2.通过DataSet获取DataTable;3.通过DataRow自定义DataTable的结构;4.通过已有的DataTable得到新的DataTable;5.通过DataAdapter填充DataTable;6.通过DataRow数组导入DataTable。
silverlight不支持datatable,通常需要开发人员自己定义实体类,将datatable转化为实体类来提供给silverlight端使用,这样对于系统开发工作量非常大,而且不易于管理。本创新成果是基于提高silverlight开发效率,经过研究实现在silverlight 下不定义实体,通过创建动态类型将DataTable数据传送给silverlight使用。
发明内容
本发明的目的是提供一种silverlight框架下动态创建实体类的方法。
本发明的目的是按以下方式实现的,在WCF端,通过序列转化的方法,将silverlight不支持的datatable类型序列转化为silverlight支持的字符string类型,具体步骤如下:
1)首先服务器端把datatable序列化成字符串,压缩后通过WCF传递到silverlight端;
2)在silverlight端通过解码解压缩,对解压缩后的字符串进行解析,生成ObservableCollection<dynamic>,其中dynamic是个动态类型,通过ObservableCollection<dynamic>来存放Datatable数据;
3)根据解析的信息,动态创建实例并为实例赋值,实现字符string类型的转换,最后返回给silverlight端使用。
本发明的优异效果:Silverlight技术框架不支持datatable技术,通常需要开发人员自己定义实体类,将datatable转化为实体类来提供给silverlight端使用,这样对于系统开发工作量非常大,而且不易于管理。本发明是基于提高silverlight开发效率,实现在silverlight 下不定义实体,通过创建动态类型将DataTable数据传送给silverlight使用,解放了开发者自己定义实体类并将datatable转化为实体类提供silverlight端使用的编码工作量,大大提高了开发人员的工作效率。
附图说明
图1是WCF端实现流程图;
图2是WCFSilverlight端实现流程图。
具体实施方式
参照说明书附图对本发明的方法作以下详细地说明。
实施例
端:
1、首先,将DataTable序列化为string,将表名、列名等信息保存在string串中,部分代码如下:
Private static string SerializeDataTable(Datatable dt,int ipIndex)
{
Try
{
StringBuilder strResult=new StringBuilder()
String strTableName=””;
StrtablName=dt.TableName;
If (strTableName==””)
StrtablName=“TABLENAME_”+ipIndex, ToString();
strResult.Appdend(“▲”);
for(int s=0:s<dt.Columns.Count:s++)
strResult.Appdend(dt.Columns[s].ColumnName);
2、将得到字符串进行编码压缩:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮集团山东通用软件有限公司,未经浪潮集团山东通用软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310140897.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:车辆用电源电路
- 下一篇:真空反重力铸造钛及钛合金用复合坩埚