上文 说到XDbFramework是为方便做Extjs项目时而诞生的,那么下面我就把思路分享给广大博友,当然对源码比较感兴趣的朋友也可以从这里下载 ,止文说了XDbFramework是一个数据访问框架,所以它只是单纯的完成数据库的crud操作,而负责生成extjs脚本和实体的是另一个工具XCodeBuilder(下载地址 )。这两者结合起来便可以实现对数据库的所有crud而不需要写一句代码(当然要实现逻辑更为复杂的时候就需要写代码了)。今天我就先将思路讲出来,希望和大家交流交流。
由于本框架主要为curd操作,并且针对extjs所以我们先来看看ext的查询界面,通常是grid,下面是从官方网站的一个带Filter功能的grid截图。
我这里选择的是id列,因为id列是整型的,所以这里的Filters有三个条件(大于,小于,等于),当填入大于或者小于中任意一个时,等于便不可用,相反效果一样。日期型,数字型等跟整型一致。字符串则只有一个输入框(一般采用like模糊查询)
要达到这样的效果,便有了以下思路:
首先看一个类Model_Selector<T>
using
System;
namespace XDbFramework
{
public class Model_Selector < T >
{
public Model_Selector()
{
}
public Model_Selector(T maxObj, T minObj, Model_Pagination pager)
{
m_MaxObj = maxObj;
m_MinObj = minObj;
Pagination = pager;
}
private T m_MaxObj;
public T MaxObj
{
get { return m_MaxObj; }
set { m_MaxObj = value; }
}
private T m_MinObj;
public T MinObj
{<
namespace XDbFramework
{
public class Model_Selector < T >
{
public Model_Selector()
{
}
public Model_Selector(T maxObj, T minObj, Model_Pagination pager)
{
m_MaxObj = maxObj;
m_MinObj = minObj;
Pagination = pager;
}
private T m_MaxObj;
public T MaxObj
{
get { return m_MaxObj; }
set { m_MaxObj = value; }
}
private T m_MinObj;
public T MinObj
{<