快速业务通道

快速构建一个简单的个人框架系列(1)--FastObject介绍

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20

哪个程序员没有一个梦?我的梦就是开发一个个人框架,轻量级,无需配置,功能强大但使用简单的 框架。

具体来说:

(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()方法我们简化了代码量的编写,减轻了工作量*/

我想一个小型的开发,这些功能是用的最多,通过FastObject我们无需要书写繁琐的数据库代码,就 能基本的操作数据库。

对于配置,我们还是需要基本的数据库连接和数据库类别(目前只支持Access和SQLServer):

<appSettings>
    <!--<add key="ConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;Data  source=|DataDirectory|\ChinaBee.mdb"/>
    <add key="DBType" value="Access"/>-->
    <add key="DBType" value="SQLServer"/>
    <add key="ConnectionString" value="Data  Source=C5919FACE95841E\SQLEXPRESS;Initial Catalog=ChinaBee;User  ID=sa;Password=*****"/>
  </appSettings>

切换数据库,只需要更改数据库连接,至于如何不改代码就能切换,后面会详细论述.(注意:这里不 同于多层结构中需要分别写SQLServer和Access层的数据访问通过反射才能切换数据库,这里实现要方便 的多!)。

下面我们演示一个简单的web形式的Demo:

假如数据库ChinaBee中有表BeeOrder: /****** 对象:  Table [dbo].[BeeOrder]    脚本日期: 02/17/2009 10:03:38  ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[BeeOrder](
    [Id] [

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号