Skip to content

.NET library to access data storage with Unit of Work, Repository and Entity classes

License

Notifications You must be signed in to change notification settings

GodelTech/GodelTech.Data

Repository files navigation

GodelTech.Data

.NET library to access data storage with Unit of Work, Repository and Entity classes

Overview

GodelTech.Data project has interfaces for Unit of Work and Repository pattern. Implementation of it for Entity Framework Core can be found in library GodelTech.Data.EntityFrameworkCore

Extensions

You can find Repository extensions using QueryParameters and ISpecification that allows you create requests easier.

QueryParameters.cs

public class QueryParameters<TEntity, TKey>
    where TEntity : class, IEntity<TKey>
{
    public FilterRule<TEntity, TKey> Filter { get; set; }

    public SortRule<TEntity, TKey> Sort { get; set; }

    public PageRule Page { get; set; }
}

SpecificationBase.cs

public abstract class SpecificationBase<TEntity, TKey> : CompositeSpecification<TEntity, TKey>
    where TEntity : class, IEntity<TKey>
{
    public override bool IsSatisfiedBy(TEntity candidate) => AsExpression().Compile().Invoke(candidate);

    public abstract Expression<Func<TEntity, bool>> AsExpression();
}

Build

Azure DevOps builds (master) Azure DevOps tests (master) Azure DevOps coverage (master) Sonar Quality Gate Sonar Tech Debt Sonar Violations

Artifacts

Azure DevOps builds (Artifacts)

NuGet

Azure DevOps builds (NuGet) Nuget Nuget (with prereleases) Nuget Libraries.io dependency status for specific release