zoukankan      html  css  js  c++  java
  • SAS框架问世

           自从上一次写关于ORM的文章已经是几个月前的事情了,在这里先贴一下文章的地址,如果大家感兴趣的话可以去看看。

    1)、支持差异数据保存的数据库实体类设计——处女作

    2)、支持差异数据保存的数据库实体类设计(二)(续)

    3)、支持差异数据保存的数据库实体类设计(三)(续)

    4)、SAS框架问世(本文)

           一直在埋头完善框架,博文自然就写得少了,今天来展示一下自己的框架的用法,先说说本框架的有哪些优点:

    1)、支持多数据库的ORM。不仅仅只是一套支持多种数据库的ORM,而是可以在同一个应用程序中连接到多个不同的数据库(数据库类别,或者数据库连接字符串的不同)

    2)、实体类工具生成

    3)、IOC依赖注入

    4)、AOP面向方面编程

    5)、日志功能

    6)、数据库对象审计跟踪功能(包括数据库的历史修改版本查看,数据恢复等功能)

    7、权限管理(包括功能模块权限、角色权限、数据组权限等)

    8、其他...

           本文主要讲讲ORM的常见用法,首先需要实例化一个数据层代理对象,该对象是一个全局对象,代码如下:      

    DalAgent dalAgent= new DalAgent();//实例化一个数据层代理类

    IDbHelperFactory dbFalctory = new MSSqlDbHelperFactory("Server=.\SQLEXPRESS;DataBase=SAS;uid=sa;pwd=123456");//实例化数据库帮助类工厂类

    dalAgent.GetDbHelperHandler = dbFactory.CreateDbHelper() ;//为数据层代理类设置获取数据库帮助类委托 

    注:其中IDbHelperFactory对象的实例可以通过框架中的IOC容器获取。

           1、查询操作

                 List<Entity> list = dalAgent.GetListAll<Entity>(tableName);//根据表名获取全部对象的列表数据;

                 List<Entity> list = dalAgent.GetListObject<Entity>(tableName, "Id > 10 and ...");//根据表名、过滤条件,获取对象列表数据; 

                 List<Entity> list = dalAgent.GetListObject<T>(tableName, pageInfo, orderBy);//根据表名、分页对象、排序对象获取对象列表数据(分页功能)

                 List<Entity> list = dalAgent.GetListObject<T>(tableName, "Id > 10 and ...", pageInfo, orderBy);//根据表名、过滤条件、分页对象、排序对象获取对象列表数据(分页功能)

                 List<Entity> list = dalAgent.GetListObject<Entity>(queryStr, listPara);//根据查询语句、参数列表获取全部对象列表数据;

                 List<Entity> list = dalAgent.GetListObject<T>(queryStr, listPara, pageInfo, orderBy);//根据查询语句、参数列表、分页对象、排序对象获取对象列表数据(分页功能)

           2、查询单个对象 

                 Entity e = dalAgent.GetObjectById<Entity>(tableName, id);//根据表名、Id获取对象; 

                 Entity e = dalAgent.GetObject<Entity>(queryStr, listPara);//根据查询语句、参数列表获取全部对象;

           3、插入操作

                Entity e = new Entity();//实例化一个对象,假设该对象有三个属性Id, Name, Description

                e.Name = "Name";

                e.Description = "Description";

                dalAgent.Save(e);//框架自动生成Sql语句,支持自增Id和非自增Id 

           4、更新操作

                Entity e = dalAgent.GetObjectById<Entity>(tableName, 1);

                e.Name = "Name1";

                dalAgent.Save(e);//框架自动生成Sql语句,并且sql语句中只包含更新过的字段  

           5、删除操作

                Entity e = dalAgent.GetObjectById<Entity>(tableName, 1);

                dalAgent.Delete(e);

    上面的功能只是本框架这种ORM模块的调用,其他功能在这里就不一一介绍了,留待后续文章补全。

     ASP.NET开发技术交流群: 67511751

  • 相关阅读:
    FreeTextbox 中吃掉Server路径的问题
    .net 中发mail到hotmail中乱码问题的解决
    管理的技巧和沟通
    将近一个星期都没来园子里面了
    园子里面西安的朋友请进来
    又开始乱了
    google真是个小人
    周末的晴天
    pm2入门
    strlen与sizeof区别 冷夜
  • 原文地址:https://www.cnblogs.com/Juvy/p/2303776.html
Copyright © 2011-2022 走看看