基于EF的通用访问类(C#)

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 using System.Data.Entity;
 7 
 8 namespace DAL
 9 {
10 
11     /// <summary>
12     /// 基于EF的通用访问类
13     /// </summary>
14   public   class EFDBHelper
15     {
16         private DbContext dbContex = null;
17 
18         public EFDBHelper(DbContext context)
19         {
20             this.dbContex = context;
21         }
22 
23 
24         /// <summary>
25         /// 新增实体
26         /// </summary>
27         /// <typeparam name="T"></typeparam>
28         /// <param name="entity"></param>
29         /// <returns></returns>
30         public int Add<T>(T entity) where T : class
31         {
32             dbContex.Entry<T>(entity).State = EntityState.Added;
33             //dbContex.Set<T>().Attach(entity);
34             //dbContex.Set<T>().Add(entity);
35             return dbContex.SaveChanges();
36         }
37 
38         /// <summary>
39         /// 修改一个实体
40         /// </summary>
41         /// <typeparam name="T"></typeparam>
42         /// <param name="entity"></param>
43         /// <returns></returns>
44         public int Modify<T>(T entity) where T : class
45         {
46             dbContex.Entry<T>(entity).State = EntityState.Modified;  //此种方式设置更新的是全部字段,不适合部分字段的更新
47             return dbContex.SaveChanges();
48         }
49 
50         /// <summary>
51         ///删除一个实体
52         /// </summary>
53         /// <typeparam name="T"></typeparam>
54         /// <param name="entity"></param>
55         /// <returns></returns>
56 
57         public int Delete<T>(T entity) where T : class
58         {
59             dbContex.Entry<T>(entity).State = EntityState.Deleted;
60             //dbContex.Set<T>().Attach(entity);
61             //dbContex.Set<T>().Remove(entity);
62             return dbContex.SaveChanges();
63         }
64     }
65 }

 

posted @ 2018-03-25 22:08  爱踢两键  阅读(270)  评论(0编辑  收藏  举报