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=”男”);

posted @ 2016-03-29 08:45  依稀113  阅读(145)  评论(0编辑  收藏  举报