EfCore.GenericServices 3.0.0

Library to help you quickly code Create, Read, Update and Delete (CRUD) accesses in web/mobile/desktop applications using Entity Framework Core.

Install-Package EfCore.GenericServices -Version 3.0.0
dotnet add package EfCore.GenericServices --version 3.0.0
<PackageReference Include="EfCore.GenericServices" Version="3.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EfCore.GenericServices --version 3.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

EfCore.GenericServices

This library helps you quickly code Create, Read, Update and Delete (CRUD) accesses for a web/mobile/desktop application. It acts as a adapter and command pattern between a database accessed by Entity Framework Core (EF Core) and the needs of the front-end system.

Now supports EF Core >=3.0 (as well as EF Core >=2.1)

Useful articles

This readme provides a good overview, but here are some articles that give you a detailed description of what the libraray does.

What the library does

This library takes advantage of the fact that each of the four CRUD database accesses differ in what they do, but they have a common set of data part they all use, which are:

a) What database class/table do you want to access?
b) What properties in that class/table do you want to access or change?

This library uses DTOs (data transfer objects, also known as ViewModels) plus a special interface to define the class/table and the properties to access.
That allows the library to implement a generic solution for each of the four CRUD accesses, where the only thing that changes is the DTO you use.

Typical web applications have hundreds of CRUD pages - display this, edit that, delete the other -
and each CRUD access has to adapt the data in the database to show the user, and then apply the changes to the database.
So, you create one set of update code for your specific application and then cut/paste + change one line (the DTO name) for all the other versions.

I personally work with ASP.NET Core, so my examples are from that, but it will work with any NET Core type of application
(I do know one person have used this libary with WPF).

NuGet link and link to documentation.

MIT license.

EfCore.GenericServices

This library helps you quickly code Create, Read, Update and Delete (CRUD) accesses for a web/mobile/desktop application. It acts as a adapter and command pattern between a database accessed by Entity Framework Core (EF Core) and the needs of the front-end system.

Now supports EF Core >=3.0 (as well as EF Core >=2.1)

Useful articles

This readme provides a good overview, but here are some articles that give you a detailed description of what the libraray does.

What the library does

This library takes advantage of the fact that each of the four CRUD database accesses differ in what they do, but they have a common set of data part they all use, which are:

a) What database class/table do you want to access?
b) What properties in that class/table do you want to access or change?

This library uses DTOs (data transfer objects, also known as ViewModels) plus a special interface to define the class/table and the properties to access.
That allows the library to implement a generic solution for each of the four CRUD accesses, where the only thing that changes is the DTO you use.

Typical web applications have hundreds of CRUD pages - display this, edit that, delete the other -
and each CRUD access has to adapt the data in the database to show the user, and then apply the changes to the database.
So, you create one set of update code for your specific application and then cut/paste + change one line (the DTO name) for all the other versions.

I personally work with ASP.NET Core, so my examples are from that, but it will work with any NET Core type of application
(I do know one person have used this libary with WPF).

NuGet link and link to documentation.

MIT license.

Release Notes

- Support both EF Core >=2.1 and EF Core >=3.0 by supporting NetStandard2.0 and NetStandard2.1.
     - Bug fix: AutoMapper upgrade to version 9.0.0 results in error: MissingMethodException IgnoreAllPropertiesWithAnInaccessibleSetter(). See issue #33
     - Bug fix: GetAllErrors() should use Environment.NewLine.
     - Style fix: Separator only has one E in it #35

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
3.0.0 51 10/12/2019
2.1.0-preview001 39 10/4/2019
2.0.3 1,371 7/29/2019
2.0.2 3,141 4/4/2019
2.0.1 2,133 3/10/2019
2.0.0 2,328 1/2/2019
2.0.0-preview001 304 12/24/2018
1.3.3 1,818 10/27/2018
1.3.2 406 10/22/2018
1.3.1 476 9/26/2018
1.3.0 548 9/18/2018
1.2.6 2,308 8/18/2018
1.2.4 307 7/29/2018
1.2.3 195 7/24/2018
1.2.2 198 7/16/2018
1.2.1 184 7/14/2018
1.1.0 289 6/7/2018
1.0.0 353 4/12/2018