Releases: cbcrc/LinkIt
2.0.0
Major changes in version 2. Please read all the notes here before deciding to upgrade.
Breaking changes
ILoadLinkermethods are now async (#3) (d97d67f)- The signature of
IReferenceLoader.LoadReferencesAsynchas changed.ILookupIdsContexthas been replaced byILoadingContext.
It is now the only parameter forLoadReferencesAsyncand is used for both
getting the IDs to lookup and for adding loading references.
- Reference types that are part of a cycle are loaded in multiple batches.
- The overload of
LoadLinkProtocolForLinkedSourceBuilder.LoadLinkReferenceByIdfor lists has been renamedLoadLinkReferencesByIds. - The overload of
LoadLinkProtocolForLinkedSourceBuilder.LoadLinkNestedLinkedSourceByIdfor lists has been renamedLoadLinkNestedLinkedSourcesByIds. - The overload of
LoadLinkProtocolForLinkedSourceBuilder.LoadLinkNestedLinkedSourceFromModelfor lists has been renamedLoadLinkNestedLinkedSourcesFromModels. LoadLinkProtocolForLinkedSourceBuilder.PolymorphicLoadLinkhas been renamedLoadLinkPolymorphic.LoadLinkProtocolForLinkedSourceBuilder.PolymorphicLoadLinkForListhas been renamedLoadLinkPolymorphicList.- Added method
ILoadLinker.EnabledDebugMode()in order to aid in diagnosing load-link operations (#8).
Features
- Dependency cycles are allowed, except between linked sources of the same type.
In other words, there can be a cycle that includes linked sources with the same model type,
but cycles with the exact same linked source type is not permitted. - Reference types can be loaded directly using
ILoadLinkProtocol.Load<TModel>().ByIdAsync({id})orILoadLinkProtocol.Load<TModel>().ByIdsAsync({ids}).
Migration from 1.x to 2.0
In the repository, there is a migration helper.
Copy the file to get help migrating your code. It includes stubs of all the removed classes
and methods (as extension methods), with the ObsoleteAttribute explaining what to replace them with.
Your build result will include warnings for every use of those classes/methods.
2.0.0 Release Candidate 1
Major changes in version 2. Please read all the notes here before deciding to upgrade.
Get it on NuGet: https://www.nuget.org/packages/LinkIt/2.0.0-rc01
Breaking changes
ILoadLinkermethods are now async (#3) (d97d67f)- The signature of
IReferenceLoader.LoadReferencesAsynchas changed.ILookupIdsContexthas been replaced byILoadingContext.
It is now the only parameter forLoadReferencesAsyncand is used for both
getting the IDs to lookup and for adding loading references.
- Reference types that are part of a cycle are loaded in multiple batches.
- The overload of
LoadLinkProtocolForLinkedSourceBuilder.LoadLinkReferenceByIdfor lists has been renamedLoadLinkReferencesByIds. - The overload of
LoadLinkProtocolForLinkedSourceBuilder.LoadLinkNestedLinkedSourceByIdfor lists has been renamedLoadLinkNestedLinkedSourcesByIds. - The overload of
LoadLinkProtocolForLinkedSourceBuilder.LoadLinkNestedLinkedSourceFromModelfor lists has been renamedLoadLinkNestedLinkedSourcesFromModels. LoadLinkProtocolForLinkedSourceBuilder.PolymorphicLoadLinkhas been renamedLoadLinkPolymorphic.LoadLinkProtocolForLinkedSourceBuilder.PolymorphicLoadLinkForListhas been renamedLoadLinkPolymorphicList.
Features
- Dependency cycles are allowed, except between linked sources of the same type.
In other words, there can be a cycle that includes linked sources with the same model type,
but cycles with the exact same linked source type is not permitted. - Reference types can be loaded directly using
ILoadLinkProtocol.Load<TModel>().ByIdAsync({id})orILoadLinkProtocol.Load<TModel>().ByIdsAsync({ids}).
Migration from 1.x to 2.0
In the repository, there is a migration helper.
Copy the file to get help migrating your code. It includes stubs of all the removed classes
and methods (as extension methods), with the ObsoleteAttribute explaining what to replace them with.
Your build result will include warnings for every use of those classes/methods.
.NET Standard 2.0 assembly
The library was migrated to .NET Core
Pre-.NET Core migration
v1.0.2