Advertisement
Guest User

Untitled

a guest
Jun 16th, 2016
314
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.00 KB | None | 0 0
  1.    public class DataService : IDataService
  2.     {
  3.         DbContext _context;
  4.  
  5.         public DataService(DbContext context)
  6.         {
  7.             _context = context;
  8.         }
  9.  
  10.         public IQueryable<T> Get<T>(Expression<Func<T, bool>> predicate = null) where T: class
  11.         {
  12.             var dbSet = _context.Set<T>();
  13.             IQueryable<T> query = dbSet;
  14.  
  15.             if (predicate != null)
  16.             {
  17.                 query = query.Where(predicate);
  18.             }
  19.             return query;
  20.         }
  21.  
  22.  
  23.         public T GetByID<T>(int id) where T : class
  24.         {
  25.             var dbSet = _context.Set<T>();
  26.             return dbSet.Find(id);
  27.         }
  28.  
  29.         public void Insert<T>(T entity) where T : class
  30.         {
  31.             var dbSet = _context.Set<T>();
  32.             dbSet.Add(entity);
  33.         }
  34.  
  35.         public void Delete<T>(int id) where T : class
  36.         {
  37.             var dbSet = _context.Set<T>();
  38.             Delete(dbSet.Find(id));
  39.         }
  40.  
  41.         public void Delete<T>(T entity) where T : class
  42.         {
  43.             var dbSet = _context.Set<T>();
  44.             if (_context.Entry(entity).State == EntityState.Detached)
  45.             {
  46.                 dbSet.Attach(entity);
  47.             }
  48.             dbSet.Remove(entity);
  49.         }
  50.  
  51.         public void Update<T>(T entity) where T : class
  52.         {
  53.             var dbSet = _context.Set<T>();
  54.             dbSet.Attach(entity);
  55.             _context.Entry(entity).State = EntityState.Modified;
  56.         }
  57.  
  58.         public void Save()
  59.         {
  60.             _context.SaveChanges();
  61.         }
  62.  
  63.         private bool _disposed = false;
  64.  
  65.         protected virtual void Dispose(bool disposing)
  66.         {
  67.             if (!_disposed)
  68.             {
  69.                 if (disposing)
  70.                 {
  71.                     _context.Dispose();
  72.                 }
  73.  
  74.                 _disposed = true;
  75.             }
  76.         }
  77.  
  78.         public void Dispose()
  79.         {
  80.             Dispose(true);
  81.         }
  82.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement