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

  • 相关阅读:
    【Android Developers Training】 49. 轻松录制视频
    【Android Developers Training】 48. 轻松拍摄照片
    【Android Developers Training】 47. 序言:拍摄照片
    【Android Developers Training】 46. 处理音频外放设备
    【Android Developers Training】 45. 控制音频焦点
    【Android Developers Training】 44. 控制你应用的音量和播放
    【Android Developers Training】 43. 序言:管理音频播放
    【Android Developers Training】 42. 从另一台设备接收文件
    【Android Developers Training】 41. 向另一台设备发送文件
    Linux开发常见问题:GCC:链接器输入文件未使用,因为链接尚未完成
  • 原文地址:https://www.cnblogs.com/Juvy/p/2303776.html
Copyright © 2011-2022 走看看