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