本案例由
徐桦
提供
Email:xuhua305@163.com
基于json.net的后端方案
json.net是一套很不错的开源包,能轻松实现数据对象、dataTable和json串之间的转换。
硕正套件本身并不直接与后端数据库打交道,要实现常规的CRUD功能,必须与后端作数据交换,而且是纯数据的交换,数据格式支持XML/JSON,这就使得与后端的json.net的衔接可以非常流畅、自然,且不需要写多少代码就能完成后端的开发。
如下就是用json.net作为桥梁实现硕正和后端关联的图例,可以清晰地描绘出这个数据流向的形态:
我们在json.net之上简单地做了个封装,就实现了取数与保存的功能,当然这个“保存”严格地说只是反序列化到 dataTable,要把dataTable保存的数据库,该怎么做还得怎么做。这是这个实用类的全部代码,就300来行:
DataConverterHelper.cs
这个 cs 中大部分代码都是查询参数转换为SQL的源码,由于查询通常带参数,所以有必要做这么一个通用的SQL生成器。
当然,要实现硕正的后端功能,方法可能有多种,但基于json.net的方案应该是不错的一个,特点就是简洁而优美,在开发时根本就不必在如何与硕正数据交互问题上费心,只要专心写好基于DataTable的数据保存逻辑就行。我们一直在使用这个方案,经过了实际的考验的了。
此外,我们也不断地对 json.net 作了一些改造,改造后感觉比原生的版本还要成熟、强大。
注:硕正GetChangedXML返回的是个XML串,硕正自带的所谓“全局函数”中有一个名为“toJson”的函数,能把XML串高速地转化成Json串.