- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Linq.Expressions;
- using System.Text;
- using System.Threading.Tasks;
- namespace Pasted.DataAccess
- {
- public interface IRepository
- {
- /// <summary>
- /// Gets all.
- /// </summary>
- /// <typeparam name="TEntity">The type of the entity.</typeparam>
- /// <returns></returns>
- IEnumerable<TEntity> GetAll<TEntity>() where TEntity : class;
- /// <summary>
- /// Finds entities based on provided criteria.
- /// </summary>
- /// <typeparam name="TEntity">The type of the entity.</typeparam>
- /// <param name="criteria">The criteria.</param>
- /// <returns></returns>
- IEnumerable<TEntity> Find<TEntity>(Expression<Func<TEntity, bool>> criteria) where TEntity : class;
- /// <summary>
- /// Finds one entity based on provided criteria.
- /// </summary>
- /// <typeparam name="TEntity">The type of the entity.</typeparam>
- /// <param name="criteria">The criteria.</param>
- /// <returns></returns>
- TEntity FindOne<TEntity>(Expression<Func<TEntity, bool>> criteria) where TEntity : class;
- /// <summary>
- /// Adds the specified entity.
- /// </summary>
- /// <typeparam name="TEntity">The type of the entity.</typeparam>
- /// <param name="entity">The entity.</param>
- void Add<TEntity>(TEntity entity) where TEntity : class;
- /// <summary>
- /// Updates changes of the existing entity.
- /// The caller must later call SaveChanges() on the repository explicitly to save the entity to database
- /// </summary>
- /// <typeparam name="TEntity">The type of the entity.</typeparam>
- /// <param name="entity">The entity.</param>
- void Update<TEntity>(TEntity entity) where TEntity : class;
- /// <summary>
- /// Deletes the specified entity.
- /// </summary>
- /// <typeparam name="TEntity">The type of the entity.</typeparam>
- /// <param name="entity">The entity.</param>
- void Delete<TEntity>(TEntity entity) where TEntity : class;
- }
- }
Stikked
