Skip to content

Upgrading Volo.Abp.EntityFrameworkCore 2 to 3

Breaking2.9.0 → 3.3.2Breaking38Deprecated1New216Changed192Fixed218Other229

BreakingUpgrade verdict

36 breaking changes.

  • Angular builds stop emitting many unwanted locale JavaScript files, which changes build output.
  • Removes TwoFactorEnabled related UI and application service.
  • Configuring HTTP clients changes: the old HttpClientActions option is gone and a new builder options object is used instead.
  • The proxy generator no longer accepts a solution name argument.
Top 4 of 37 that need code or config changes

Drops configureawait.fody.

Breaking36
Angular build no longer includes unexpected _locale*.js files.
Removes TwoFactorEnabled related UI and application service.
TwoFactorEnabled
Introduces AbpHttpClientBuilderOptions and removes AbpHttpClientOptions.HttpClientActions.
AbpHttpClientBuilderOptionsAbpHttpClientOptions.HttpClientActions
Removes the solution name parameter from the proxy generator.
Stops publishing auto distributed events for entities by default.
Renames the default BLOB container.
Removes the Config packages.
Removes ObjectExtensionPropertyInfo.ValidationAttributes.
ObjectExtensionPropertyInfo.ValidationAttributes
Removes all deprecated APIs in the Angular UI.
Removes NGXS wherever it is not required.
NGXS
Removes deprecated APIs in Angular UI packages.
Blazorise CRUD page base enhancements introduce breaking changes.
BlazoriseCrudPageBase
BlazoriseCrudPageBase enhancements change the CRUD page base behavior.
BlazoriseCrudPageBase
Blogging module now uses the BLOB storage module for images and files.
Uses the new "abp generate-proxy" command for all modules in the Angular UI.
abp generate-proxy
Implements ACID transactions for the MongoDB module.
Transforms replaceable components from NGXS state to an Angular service.
Makes Volo.Abp.Ldap support multi-tenancy.
Volo.Abp.Ldap
Changes how external login and password changes work.
Converts StringLengthAttribute usages to DynamicStringLengthAttribute.
StringLengthAttributeDynamicStringLengthAttribute
Fixes routes for feature and permission controllers.
Uses tilde (~) instead of caret (^) for NPM package dependencies in the MVC UI.
Sets ConcurrencyStamp property max length to the constant 40.
ConcurrencyStamp
Adds a forRoot static method for Theme Basic configuration.
forRoot
Unifies multiple update events for a single entity in the same unit of work.
Moves EtoMappings from AbpDistributedEventBusOptions to AbpDistributedEntityEventOptions.
EtoMappingsAbpDistributedEventBusOptionsAbpDistributedEntityEventOptions
Changes the UOW Timeout property type to int?.
Timeout
Sets length for EntityFrameworkCore IdentityServerClients table columns ExtraProperties and ConcurrencyStamp.
ExtraPropertiesConcurrencyStamp
Fixes the inability to set TimeOut for the UnitOfWorkAttribute.
UnitOfWorkAttribute
Sets AbpSequentialGuidGeneratorOptions.DefaultSequentialGuidType by the database provider packages.
AbpSequentialGuidGeneratorOptions.DefaultSequentialGuidType
Makes the GetClaimsPrincipal method public.
GetClaimsPrincipal
Compiles Angular UI packages with TypeScript v3.8 and Angular v9.
Sets the ListService's page variable initial value to 0.
ListService
Makes base properties of common base classes protected instead of public.
Changes the defining nav items structure and deprecates the old structure.
Splits ICrudAppservice and its implementations.
ICrudAppservice
Deprecated1
Makes the method that uses propertyBuildAction obsolete.
propertyBuildAction