public virtual void Add(TEntity entity) { using (var context = new IncantoDataContext(_dbContextOptions)) { context.Set <TEntity>().Attach(entity); context.Set <TEntity>().Add(entity); context.SaveChanges(); } }
public void Delete(int id) { using (var context = new IncantoDataContext(_dbContextOptions)) { var entity = context.Set <TEntity>().Find(id); context.Set <TEntity>().Attach(entity); context.Remove(entity); context.SaveChanges(); } }
public virtual void Update(TEntity entity) { using (var context = new IncantoDataContext(_dbContextOptions)) { context.Entry(entity).State = EntityState.Detached; context.Set <TEntity>().Attach(entity); context.Update(entity); context.SaveChanges(); } }
public override void Add(Item entity) { using (var context = new IncantoDataContext(_dbContextOptions)) { context.Set <Item>().Attach(entity); context.Set <Item>().Add(entity); context.SaveChanges(); entity.Identifier = (string.IsNullOrEmpty(entity.Remote) ? "IN" : entity.Remote) + entity.Updated.Month + (entity.Updated.Year - 2000) + entity.Category.Id + "-" + entity.Id; } Update(entity); }
public override void Delete(Item entity) { using (var context = new IncantoDataContext(_dbContextOptions)) { var item = context.Items.Where(i => i.Id == entity.Id).Include(i => i.Photos).Include(i => i.Details).Include(i => i.ExistingItems).First(); item?.Photos.ForEach(p => context.Photos.Remove(p)); item?.Details.ForEach(d => context.Details.Remove(d)); item?.ExistingItems.ForEach(d => context.ExistingItems.Remove(d)); context.Items.Remove(item); context.SaveChanges(); } }
public override void Update(Item entity) { using (var context = new IncantoDataContext(_dbContextOptions)) { entity.Details.ForEach(d => context.Entry(d).State = EntityState.Unchanged); entity.ExistingItems.ForEach(d => context.Entry(d).State = EntityState.Unchanged); context.Entry(entity).State = EntityState.Detached; context.Set <Item>().Attach(entity); context.Update(entity); context.SaveChanges(); } }
public List <TEntity> GetList(Expression <Func <TEntity, bool> > predicate = null) { using (var context = new IncantoDataContext(_dbContextOptions)) { IQueryable <TEntity> query = context.Set <TEntity>(); if (predicate != null) { query = query.Where(predicate); } if (IncludeFunc != null) { query = IncludeFunc(query); } return(query.ToList()); } }