1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using Model; 6 using System.Data.Objects.DataClasses; 7 8 namespace Work 9 { 10 public class DataBase<T> where T : EntityObject 11 { 12 protected OfficeAnywhereEntities entities = new OfficeAnywhereEntities(); 13 14 /// <summary> 15 /// 添加 16 /// </summary> 17 /// <param name="t"></param> 18 /// <returns></returns> 19 public bool Add(T t) 20 { 21 entities.AddObject(typeof(T).Name, t); 22 return SaveChanges() > 0; 23 } 24 25 /// <summary> 26 /// 执行 27 /// </summary> 28 /// <returns></returns> 29 private int SaveChanges() 30 { 31 try 32 { 33 return entities.SaveChanges(); 34 } 35 catch (Exception e) 36 { 37 throw e.InnerException; 38 } 39 40 } 41 42 /// <summary> 43 /// 寻找对象 44 /// </summary> 45 /// <param name="Guid"></param> 46 /// <returns></returns> 47 private T FindByGuid(string Guid) 48 { 49 T t = null; 50 entities.CreateObjectSet<T>().ToList().ForEach(p => { 51 if (p.EntityKey.EntityKeyValues[0].Value.ToString() == Guid) 52 t = p; 53 }); 54 return t; 55 } 56 57 /// <summary> 58 /// 删除 59 /// </summary> 60 /// <param name="Guid"></param> 61 /// <returns></returns> 62 public bool DelByGuid(string Guid) 63 { 64 T t = FindByGuid(Guid); 65 if(t!=null) 66 entities.DeleteObject(t); 67 return SaveChanges() > 0; 68 } 69 70 /// <summary> 71 /// 更新 72 /// </summary> 73 /// <param name="Guid"></param> 74 /// <param name="act"></param> 75 /// <returns></returns> 76 public bool UpdateByGuid(string Guid, Action<T> act) 77 { 78 T t = FindByGuid(Guid); 79 act(t); 80 return SaveChanges() > 0; 81 } 82 83 /// <summary> 84 /// 列表 85 /// </summary> 86 /// <returns></returns> 87 public List<T> GetList() 88 { 89 return entities.CreateObjectSet<T>().ToList(); 90 } 91 } 92 }