Releases: JonPSmith/GenericServices
V1.0.9
This version swaps from AutoMapper's static configuration of mapping and uses the new MapperConfiguration set up available in Automapper 4.2.1 - see issue #14. GenericServices works in exactly the same way, but just uses newer libraries. I wouldn't bother to update GenericServices unless you want to use some new feature in AutoMapper.
The only new command is GenericServicesConfig.ClearAutoMapperCache()
which is only their for Unit Test purposes.
V1.0.9 is released to NuGet and the two example applications, SampleMvcWebApp and SampleMvcWebAppComplex, have been updated to use V1.0.9.
V1.0.8
GenericServices 1.0.8
Summary: bug fix on composite key handling.
The order of the composite keys when using a dto were based on their declaration order, but should have been based on the EF composite key order. This could lead to issues such as update not finding an entry with a composite key.
This is now fixed.
V1.0.7
GenericServices 1.0.7
Summary: Small changes.
- Made
IGenericDbContext
and thereforeIGenericServicesDbContext
support theIDisposable
interface. I did this so that Unit Tests can useIGenericServicesDbContext
andIGenericActionsDbContext
in the dispose on the underlyingDbContext
dispose is called. - Fixed a small bug, #9, in
DeleteAsync
that gave an unclear error message.
V1.0.6
GenericServices 1.0.6
Summary: Mainly to improve use in WebApi/json and link to new GenericLibsBase
- Breaking change in making
ForceNeedDecompile
protected. This stops the property appearing in json output when used in WebApi etc. - Also changed
NeedsDecompile
to internal for same reason as 1. - Uses newer GenericLibsBase with improved status methods. (See note below)
- Also updated to latest Entity Framework and AutoMapper
GenericLibsBase 1.0.1
Summary: Additional methods to make it easier for methods to build a ISuccessOrErrors status
- Added
Combine()
method to use when working with nested methods returning ISuccessOrErrors. Allows you to 'fold-in' any errors or warnings from an inner method into the outer method's status. - The
HasErrors
property is useful for checking for errors inside a method that is using ISuccessOrErrors. It differs fromIsValid
in that it just checks if there are errors, whileIsValid
will only return true if a success message has been set. Please continue to useIsValid
for all checking of GenericServices status returns. - The
GetAllErrors()
method returns a single string containing all the errors, but joined together usingstring.Join()
. The default join string is \n, i.e. newline, but you can provide an alternative join string.
V1.0.3
Minor changes:
- Added .ConfigureAwait(false) to all async calls. This stops any saving of context, which is more efficient.
- Minor changes to the internal signatures of the DbContext interfaces to allow other GenericXXX libraries to define a new GenericXXXDbContext.
Neither of these changes affect the external signature of the package, nor do they change any functionality.
V1.0.2
First version on NuGet. See package on NuGet
Release V1.0.0
This is the first non-Beta of the project. It has everything working and includes release 0.13 of DelegateDecompiler that supports Async and fixes other bugs.
There is one more change to happen to this library to come. This will:
- Improve the signature of the methods by hiding the more complex generic versions of each service
- At the same time I may well add a new signature for the ctor's of the services that allow specific DbContext's to be targeted. This is useful when using a Domain-Driven Design.
Also see this article which describes the overall architecture.
Simplification by splitting into separate services
- Split out some basic items into GenericLibsBase
- Removed all the Action parts, i.e. now only contains CRUD methods
- Added DeleteWithRelationships
Internal release beta release.
This to mark a stable beta version before I undertake a big change to the structure of GenericServices. This is the version used in the current version of SampleMvcWebApp and the currently deployed live web site http://samplemvcwebapp.net/.