using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace PalGain.Core
|
{
|
public interface IRespository<T> where T : BaseEntity
|
{
|
|
/// <summary>
|
/// Get entity by identifier
|
/// </summary>
|
/// <param name="id">Identifier</param>
|
/// <returns>Entity</returns>
|
T GetById(object id);
|
/// <summary>
|
/// 执行增删改的SQl
|
/// </summary>
|
/// <param name="sql"></param>
|
/// <returns></returns>
|
int ExecuteSqlCommand(string sql);
|
/// <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>
|
/// Update entities
|
/// </summary>
|
/// <param name="entities">Entities</param>
|
void Update(IEnumerable<T> entities);
|
|
/// <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; }
|
}
|
}
|