zoukankan      html  css  js  c++  java
  • EF架构D层中公共方法使用文档说明书-张连海-2014年12月7日

        今天才知道有这篇文档,为了方便查询,我还是传到博客上去,嘿嘿……

    【举例说明

    D层中,我们抽象出了一些公共方法,D层中具体的数据访问对象继承了这些方法。

    我们以Student为例,其对应的实体、B层和D层的类分别为StudentStudentServiceStudentDALB层实体化出来的类为studentService。实体中的属性为

    主键IDSID

    姓名:Name

    性别:Sex

    年龄:Age

    【方法说明】

    1. 查询全部LoadItems()

    代码示例:

    List<Student> result = studentService.LoadItems();

    2. 按原生SQL语句查询LoadItems(string strSql)

    代码示例:

    List<Student> result = studentService.LoadItems(“select * from Student”);

    3. 按条件查询:LoadItems(Func<T, bool> whereLambda)

    代码示例:

    //查询ID=2学生

    List<Student> result = studentService.LoadItems(u=>u.ID=2);

    4. 分页查询 + 条件查询 + 排序:LoadPageItems<Tkey>(int pageSize, int pageIndex, out int total, Func<T, bool> whereLambda, Func<T, Tkey> orderbyLambda, bool isAsc)

    代码示例:

    //查询要求:每页10,显示第2,查询性别为男”,按年龄增序排列

    int totalRecord;

    List<Student> result = studentService.LoadItems(10,2,u=>u.ID=2,out totalRecord,u=>u.Sex=”男”,u=>u.Age,True);

    //Out关键字表示的是传址方式totalRecord此时为总的记录数

    参考资料:

    博客资料:http://www.cnblogs.com/ahui/archive/2011/08/04/2127282.html

    outC# 参考): http://msdn.microsoft.com/query/dev11.query?appId=Dev11IDEF1&l=ZH-CN&k=k(out_CSharpKeyword);k(out);k(SolutionItemsProject);k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.5);k(DevLang-csharp)&rd=true 

    5. 新增实体Add(T entity)

    代码示例:

    //新增姓名为:张三,性别为:男,的学生

    Student enStudent=new Student(){Name=”张三,Sex=”男”};

    studentService.Add(enStudent);

    6. 按实体更新:Upadate(T entity)

    说明:

    这个方法和下面的“按参数修改”比,麻烦一些,不用这个方法。

    7. 按参数修改 +int Upadate(T model, params string[] proNames)

    代码示例:

    //把ID=2的学生的姓名和性别分别修改为李四、“女”

    Student enStudent=new Student(){ID=2,Name=”李四”,Sex=”女”};

    studentService. Upadate(enStudent,”Name”,”Sex”);

    方法中的函数说明

    /// <param name="entity">此参数为要修改的实体对象,里面属性所要修改的字段,其值表示要改成什么结果,如:把性别这个属性改成“女”</param>

    /// <param name="proNames">要修改的 属性 名称</param>

    /// <returns></returns> 参考资料:

    paramsC# 参考):http://msdn.microsoft.com/query/dev11.query?appId=Dev11IDEF1&l=ZH-CN&k=k(params_CSharpKeyword);k(params);k(SolutionItemsProject);k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.5);k(DevLang-csharp)&rd=true

    8. 批量修改: Upadate(T model, Expression<Func<T, bool>> whereLambda, params string[] modifiedProNames)

    代码示例:

    //年龄大于30学生性别改为“男”

    Student enStudent=new Student(){Sex=”男”};

    studentService. Upadate(enStudent,u=>u.Age>30,”Sex”);

    方法中的函数说明

    /// <param name="entity">此参数为要修改的实体对象,里面属性所要修改的字段,其值表示要改成什么结果,如:把性别这个属性改成“女”</param>

    /// <param name="whereLambda">查询条件</param>

    /// <param name="proNames">要修改的 属性 名称</param>

    /// <returns></returns>

    9. 根据id删除:(T entity)

    代码示例:

    Student enStudent=new Student(){ID=2};

    studentService.Delete(enStudent);

    10. 根据条件删除:int DelBy(Expression<Func<T, bool>> delWhere)

    代码示例:

    //删除性别为女的学生

    studentService. DelBy (u=>u.Sex=”男”);

  • 相关阅读:
    一个回车键黑掉一台服务器——使用Docker时不要这么懒啊喂
    docker machine介绍和使用
    Docker Engine和Docker Machine介绍
    Nginx服务器之负载均衡策略
    从linux启动到rootfs的挂载分析
    Docker容器的生命周期管理
    docker的使用
    automake,autoconf使用详解
    go语言中文网中的资源
    Go工具和调试详解
  • 原文地址:https://www.cnblogs.com/tanqianqian/p/5975026.html
Copyright © 2011-2022 走看看