using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; namespace TTSW.EF { public interface IBaseRepository where T : class, IBaseEntity { #region Property DbSet Entities { get; } DataContext Context { get; } #endregion #region Query Functions T Get(Key id); T Get(Key id, params Expression>[] includes); IQueryable GetQuery(); List GetList(Expression> predicate); List GetList(Expression> predicate, params Expression>[] includes); #endregion #region Manipulation Functions T Insert(T entity); void Insert(IEnumerable list); T Update(Key id, object model); T SetAsInActive(Key id); T SetAsActive(Key id); void Delete(Key id); void Delete(Expression> predicate); void InsertWithoutCommit(T entity); void UpdateWithoutCommit(Key id, object model); void DeleteWithoutCommit(Key id); #endregion } }