https://github.com/godeltech/godeltech.data
.NET library to access data storage with Unit of Work, Repository and Entity classes
https://github.com/godeltech/godeltech.data
data entity repository unitofwork
Last synced: 24 days ago
JSON representation
.NET library to access data storage with Unit of Work, Repository and Entity classes
- Host: GitHub
- URL: https://github.com/godeltech/godeltech.data
- Owner: GodelTech
- License: mit
- Created: 2020-01-23T13:08:39.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-12-27T16:02:53.000Z (5 months ago)
- Last Synced: 2025-04-13T05:18:52.869Z (about 1 month ago)
- Topics: data, entity, repository, unitofwork
- Language: C#
- Size: 198 KB
- Stars: 2
- Watchers: 10
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GodelTech.Data
## Description
GodelTech.Data is a .NET library designed to facilitate access to data storage using the Unit of Work, Repository, and Entity design patterns. It provides interfaces for implementing these patterns and includes support for Entity Framework Core through the [GodelTech.Data.EntityFrameworkCore](https://github.com/GodelTech/GodelTech.Data.EntityFrameworkCore) library.## Overview
`GodelTech.Data` project has interfaces for Unit of Work and Repository pattern.
Implementation of it for [Entity Framework Core](https://docs.microsoft.com/en-us/ef/core/) can be found in library [GodelTech.Data.EntityFrameworkCore](https://github.com/GodelTech/GodelTech.Data.EntityFrameworkCore)## Extensions
You can find Repository extensions using `QueryParameters` and `ISpecification` that allows you create requests easier.
`QueryParameters.cs`
```csharp
public class QueryParameters
where TEntity : class, IEntity
{
public FilterRule Filter { get; set; }public SortRule Sort { get; set; }
public PageRule Page { get; set; }
}
````SpecificationBase.cs`
```csharp
public abstract class SpecificationBase : CompositeSpecification
where TEntity : class, IEntity
{
public override bool IsSatisfiedBy(TEntity candidate) => AsExpression().Compile().Invoke(candidate);public abstract Expression> AsExpression();
}
```## Build
[](https://dev.azure.com/GodelTech/OpenSource/_build/latest?definitionId=55&branchName=master)
[](https://dev.azure.com/GodelTech/OpenSource/_build/latest?definitionId=55&branchName=master)
[](https://dev.azure.com/GodelTech/OpenSource/_build/latest?definitionId=55&branchName=master)
[](https://sonarcloud.io/dashboard?id=GodelTech.Data)
[](https://sonarcloud.io/dashboard?id=GodelTech.Data)
[](https://sonarcloud.io/dashboard?id=GodelTech.Data)## Artifacts
[](https://dev.azure.com/GodelTech/OpenSource/_build/latest?definitionId=55&branchName=master)
## NuGet
[](https://dev.azure.com/GodelTech/OpenSource/_build/latest?definitionId=55&branchName=master)
[](https://www.nuget.org/packages/GodelTech.Data)
[](https://www.nuget.org/packages/GodelTech.Data)
[](https://www.nuget.org/packages/GodelTech.Data)
[](https://libraries.io/NuGet/GodelTech.Data)## License
This project is licensed under the MIT License. See the LICENSE file for more details.