说明:首先在实体类中定义Attribute对象(主要包括表、字段信息),然后通过反射读取该对象信息,再进行数据处理
一、类关系图如下:
二、各类用途说明
BaseEntity:实体类的基类,实体类必须继承该类。
TableConfig/FieldConfig:描述表及字段配置信息,其中FieldConfig包括FieldName(字段名称)、DataType(数据类型)、Size(字段大小)、IsInsert(是否Insert操作)、IsUpdate(是否Update操作)五个字段信息。
QueryHelper:查询对象。
SplitPageParameter:分页对象。
IDbProvider:数据处理接口。
OperationAction:数据操作枚举。
DataProvider:实现IDbProvider接口,并提供基础数据操作。
SqlDbProvider/OleDbProvider:继承自DataProvider并提供相应操作。
DataFactory:向外部提供IDbProvider服务。
三、配置文件需提供如下信息:
CNT:数据连接字符串
DBTYPE:数据库类型(目前只支持MSSQL/OLEDB)
EntityFile:实体类程序集信息
四、接口说明:
void Save(BaseEntity info):保存实体类
void Update(BaseEntity info, QueryHelper query):根据条件更新实体类
void Delete(QueryHelper query):根据条件删除数据
BaseEntity Find(QueryHelper query):根据条件读取一条数据
List<BaseEntity> Finds(QueryHelper query):根据条件读取多条数据
List<BaseEntity> Finds(SplitPageParameter sp):根据条件分页读取数据
void UpdateFields(string tableName, string[] fieldNames, object[] fieldValues, QueryHelper query):根据条件更新指定表的指定字段
五、核心函数说明
(1)、DataProvider.cs
此函数根据对象类型,通过反射获取实体类信息及实体类字段值,然后组织SQL语句为IDbCommand赋值
应用场景:
适合数据处理较小的应用
使用:
}
}
欢迎大家拍砖