...
Como instalamos o pacote Tnf.App.EntityFrameworkCore e configuramos a dependência do módulo TnfAppEntityFrameworkCoreModule, ao utilizar o tipo ICountryRepository para a entidade "Country", nosso mecanismo de injeção de dependência está injetando o repositório padrão TnfRepositoryBase com padrão EfCoreRepositoryBase com suporte a métodos para realizar operações de CRUD e queries mais complexas.
Caso você precise de uma especialização para seu repositório com métodos que você queira definir, você pode utilizar a classe abstrata TnfRepositoryBase<TEntity, TPrimaryKey> e fazer a criação de seu repositório informando a entidade e qual é o tipo de sua chave primariafazer override dos métodos do repositório ou implementar de acordo com a sua necessidade:
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
public class CustomCountryRepository : TnfRepositoryBase<CountryEfCoreRepositoryBase<ArchitectureDbContext, Country, int>, ICountryRepository { public override void Delete(Country entity) { throw new NotImplementedException(); } public override void Delete(int id) { throw new NotImplementedException();ProfessionalRepository(IDbContextProvider<ArchitectureDbContext> dbContextProvider) : base(dbContextProvider) { } public override IQueryable<Country> GetAll() { throw new NotImplementedException(); } public override CountryProfessional InsertGet(Countrydecimal entityid) { throw new NotImplementedException(); } public override Country Update(Country entity) { throw new NotImplementedException( return base.Get(id); } } |