VEU.WathBody/3-app/1-lib/Kit.Helpers/Repository/IPersistentRepository.cs

34 lines
949 B
C#

using System.Collections.Generic;
namespace Kit.Helpers.Repository
{
public interface IPersistentKey<TKey>
{
TKey PersistentKey { get; }
}
public interface IInt32PersistenKey : IPersistentKey<int> { }
public interface ISelectRepository<TEntity, TFilter>
{
IEnumerable<TEntity> Select(TFilter filter);
int Count(TFilter filter);
IEnumerable<TEntity> Select(TFilter filter, int page, int sizepage);
}
public class NothingFilter { }
public interface IPersistentRepository<TEntity, TKey, TFilter> : ISelectRepository<TEntity, TFilter>
{
TKey Insert(TEntity entity);
void Update(TKey key, TEntity entity);
void Delete(TKey key);
TEntity Get(TKey key);
// IEnumerable<TEntity> Get(IEnumerable<TKey> keys);
}
public interface IPersistentRepository<TEntity, TFilter> : IPersistentRepository<TEntity, int, TFilter>
{
}
}