using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace GreenTree.Nachtragsmanagement.Core.Data { public interface IRepository where T : BaseEntity { /// /// Get entity by identifier /// /// Identifier /// Entity T GetById(object id); /// /// Insert entity /// /// Entity void Insert(T entity); /// /// Insert entities /// /// Entities void Insert(IEnumerable entities); /// /// Update entity /// /// Entity void Update(T entity); /// /// Delete entity /// /// Entity void Delete(T entity); /// /// Delete entities /// /// Entities void Delete(IEnumerable entities); /// /// Gets a table /// IQueryable Table { get; } /// /// Gets a table with "no tracking" enabled (EF feature) Use it only when you load record(s) only for read-only operations /// IQueryable TableNoTracking { get; } } }