Repositories
Configuring repositories in Umbraco UI Builder, the backoffice UI builder for Umbraco.
Defining a repository
// Example
public class PersonRepository : Repository<Person, int> {
public PersonRepository(RepositoryContext context)
: base(context)
{ }
protected override int GetIdImpl(Person entity) {
return entity.Id;
}
protected override Person GetImpl(int id) {
...
}
protected override Person SaveImpl(Person entity) {
...
}
protected override void DeleteImpl(int id) {
...
}
protected override IEnumerable<Person> GetAllImpl(Expression<Func<Person, bool>> whereClause, Expression<Func<Person, object>> orderBy, SortDirection orderByDirection) {
...
}
protected override PagedResult<Person> GetPagedImpl(int pageNumber, int pageSize, Expression<Func<Person, bool>> whereClause, Expression<Func<Person, object>> orderBy, SortDirection orderByDirection) {
...
}
protected override long GetCountImpl(Expression<Func<Person, bool>> whereClause) {
...
}
protected override IEnumerable<TJunctionEntity> GetRelationsByParentIdImpl<TJunctionEntity>(int parentId, string relationAlias)
{
...
}
protected override TJunctionEntity SaveRelationImpl<TJunctionEntity>(TJunctionEntity entity)
{
...
}
}Changing the repository implementation of a collection
SetRepositoryType<TRepositoryType>() : CollectionConfigBuilder<TEntityType>
SetRepositoryType(Type repositoryType) : CollectionConfigBuilder<TEntityType>
Accessing a repository in code
IRepositoryFactory.GetRepository<TEntity, TId>() : Repository<TEntity, TId>
IRepositoryFactory.GetRepository<TEntity, TId>(string collectionAlias) : Repository<TEntity, TId>
Last updated
Was this helpful?