I have 2 interfaces that have many of the same methods and it seems to break the DRY principle. How can I get it where I don't have these duplicated methods in my interfaces? or does it not matter for interfaces?
Interface 1:
public interface IRepositoryBase<TEntity> where TEntity : class
{
void Commit();
void Delete(object id);
void Delete(TEntity entity);
void Dispose();
IQueryable<TEntity> GetAll();
IQueryable<TEntity> GetAll(object filter);
TEntity GetById(object id);
TEntity GetFullObject(object id);
IQueryable<TEntity> GetPaged(int top = 20, int skip = 0, object orderBy = null, object filter = null);
void Insert(TEntity entity);
void Update(TEntity entity);
}
Interface 2:
public interface IThirdWaveRepositoryBase<TEntity> where TEntity : class
{
IQueryable<TEntity> GetAll();
IQueryable<TEntity> GetAll(object filter);
TEntity GetById(object id);
TEntity GetFullObject(object id);
IQueryable<TEntity> GetPaged(int top = 20, int skip = 0, object orderBy = null, object filter = null);
}