哪个程序员没有一个梦?我的梦就是开发一个个人框架,轻量级,无需配置,功能强大但使用简单的 框架。
具体来说:
(1).配置简单,简单,很简单。(不要xml映射)
(2).轻量级, 很轻,很轻量。(学习成本一定要低)
(3).操作方便,很方便,很方便。(写框架就是要方便)
(4).数据库兼容,很兼容,很兼容。(至少要兼容Access和MSSQL)
岁月洗涤中,藉靠项目的经验,我终于痛定思痛写下了我的第一个Net2.0的框架--FastObject。
由于惯性和思维定势的影响,最后FastObject基本上算个7成的ORM框架,我很郁闷,我怎么就走不出 这个ORM呢?我真的很期待mssql和access是面向对象的数据库,面向c#的数据库。
人模自有人样,FastObject也自有自己的特点(面向中小型项目):
(1).执行sql语句,返回结果可以是无,单值,单个对象,对象集合(如int,User,List<User> )
(2).提供两种分页功能:简单分页,存储过程分页。
(3).兼容Access和Mssql数据库,可以一键切换。(本人独创!)
(4).使用FastObjectBase这一个类,使用起来太简单,太方便了。
其功能可以通过IFastObject窥见一斑:
using System;
using System.Collections.Generic;
using System.Text;
namespace FastObject
{
public interface IFastObject
{
T GetSingleData<T>(string sql);//简单执行sql语句,增,删,改,查
T GetModel<T>(string sql) where T : new();//获取单个实体
void Para(params ParaInfo[] paras);//配置参数:Sqlparameter, OledbParameter等DbParameter
List<T> GetModels<T>(string sql) where T : new();获取实体 集合
List<T> GetModelsByPage<T>(string strWhere, int pageIndex, int pageSize) where T : new();//简单分页
List<T> GetModelsByPageStore<T>(string strWhere, string strKey, string strOrder, int pageIndex, int pageSize) where T : new();//存储过程分 页,仅支持sqlserver
}
}
/*说明:通过Para()方法我们简化了代码量的编写,减轻了工作量*/