// Copyright (c) Tribufu. All Rights Reserved. // SPDX-License-Identifier: MIT using System.Collections.Generic; using System.Threading.Tasks; namespace Tribufu.EntityFrameworkCore { public interface IRepository where T : class { void Seed(); Task SeedAsync(); IList List(); Task> ListAsync(); IList List(uint page, uint limit); Task> ListAsync(uint page, uint limit); T? Find(K key); Task FindAsync(K key); T? Create(T entity); Task CreateAsync(T entity); T? Update(T entity); Task UpdateAsync(T entity); void Delete(K key); Task DeleteAsync(K key); void Delete(T entity); Task DeleteAsync(T entity); } }