Releases: TrackableEntities/trackable-entities
v2.5.7
This release resolves the following issues / pull requests:
#213: Add onLoading, onError callbacks to LoadRelatedEntities
Reverts #206: Fix LoadRelatedEntities with Non-Matching Foreign Keys
#212: Updated MyGet feed link#207: Unify Json.Net to v10.0.3
#215: Changed ModifiedProperties default initialization to HashSet
v2.5.6.1
This release resolves the following issues / pull requests:
- #203: Fix NuGet config so that MyGet build passes
- #206: Fix LoadRelatedEntities with Non-Matching Foreign Keys (fixes #197)
- #207: Unify Json.Net to v10.0.3
- #208: Correct project and license URL's in nuspec files
Included in following NuGet packages:
- TrackableEntities.Client 2.5.6.1
- TrackableEntities.Client.Net4 2.5.6.1
- TrackableEntities.Common 2.5.6.1
- TrackableEntities.EF.5 2.5.6.1
- TrackableEntities.EF.6 2.5.6.1
- TrackableEntities.Patterns 2.5.6.1
- TrackableEntities.Patterns.EF.6 2.5.6.1
Version 2.5.6
This release resolves the following issues / pull requests:
- #139: ChangeTrackingCollection is modified when calling GetChanges
- #141: Calling GetChanges multiple times does not capture additional changes
- #169, #172: Change default connection string to use LocalDb instead of SQL Express
- #161, #162, #164: NotifyPropertyChanged with CallerMemberName for Client Portable Library
- #170, #192: Ignore non-mapped properties
- #173, #186: Graph changed event
- #177: Add support for complex types with Code First models
- #178, #179, #180: Set C# version to 5.0 with .NET. 4.5 for TE.EF.5-6 projects to fix broken CI build
- #182: Update LoadRelatedEntities to skip complex types
- #196: Update Json.Net Package to v 10.0.3.
Included in following NuGet packages:
- TrackableEntities.Client 2.5.6
- TrackableEntities.Client.Net4 2.5.6
- TrackableEntities.Common 2.5.6
- TrackableEntities.EF.5 2.5.6
- TrackableEntities.EF.6 2.5.6
- TrackableEntities.Patterns 2.5.6
- TrackableEntities.Patterns.EF.6 2.5.6
Version 2.5.5
Included in NuGet package: Trackable Entities Client 2.5.5.
This release resolves the following issues / pull requests:
- #119: 1-M, M-M problems
- Updated sample with commit c8c0248, which has a workaround to make entities play nice with
IEditableObject
.
- Updated sample with commit c8c0248, which has a workaround to make entities play nice with
- #122: Deleting one-to-one relationships
- GetChanges should not decide whether to include or exclude the deleted child node depending on the state of its master. Thus if a node is marked as anything besides Unchanged, then it should be returned.
- Fixed with PR #123.
- #133: Cannot find DbContext if Context doesn't inherit from DbContext directly
- Fixed with PR #134: TrackableEntities.ItemWizard/ModelReflectionHelper.cs.
- The VSIX installer for VS 2015 will need to be rebuilt to include this change.
- #131: add/delete many-to-many Problem
- Fixed with PR #135. Fixed T4 templates so that many-to-many property setters set the Parent property on the related collection. This ensures that the parent entity remains unchanged when children in M-M relations are added or removed.
- Updated NuGet packages for T4 templates and released to NuGet.org.
- #132: After removing an item that has Added state it goes to the _deleted internal collection with state Unchanged
- Fixed with PR #137. Updated
RemoveItem
method inChangeTrackingCollection
so that added m-m items are not cached when removed from the collection.
- Fixed with PR #137. Updated
Version 2.5.4
This release resolves the following issues / pull requests:
- #105: ITrackableExtended interface
- Create an
ITrackableExtended<TProperty>
interface in a PCL called TrackableEntities.Common.Extended, which references TrackableEntities.Common. The interface should inherit fromITrackable
but add aTrackgingStateExtended
property of type<TPropertyType>
. - The purpose of this interface is to allow for extra metadata for change-tracking.
- Create an
- #106: DbContext.ApplyChanges overload accepting lambda
- This was resolved by adding a state interception feature allowing callers to use a fluent API for adding interceptors which instruct
DbContext.ApplyChanges
on how to set entity state. - This feature was implemented by the following PR's: #114, #115, #117, #118.
- Here is an example of using a
StateChangeInterceptor
to override the default behavior ofApplyChanges
by setting entity state toUnchanged
instead ofModified
.
- This was resolved by adding a state interception feature allowing callers to use a fluent API for adding interceptors which instruct
product.TrackingState = TrackingState.Modified;
context.WithStateChangeInterceptor<Product>((e, r) => EntityState.Unchanged)
.ApplyChanges(product); // Product is marked as Unchanged instead of Modified
Version 2.5.3
This release resolves the following issues / pull requests:
- #73: ApplyChanges should mark grandchild deleted
- #80: LoadRelatedEntities() - missing table in generated SQL
LoadRelatedEntities
generated an exception when reference type inherited from a base class.- Fixed with pull request #93.
- #83: Support for multiple primary keys for reference types
- Requested feature:
LoadRelatedEntities
should support reference types with composite keys. - Implemented with pull request #94.
- Requested feature:
Version 2.5.2.1
This release includes fixes for the following issues / pull requests:
- #85: [VSIX] Create a VSIX installer for Visual Studio 2015
- Created a VSIX installer using the SDK for Visual Studio 2015.
- Tested the VS2015 VSIX using Visual Studio 2015 Update 1.
- Refactored common dependencies with the VS2013 VSIX installer.
- Resolved related issues concerning NuGet VS integration and the directory placement for Entities projects.
- Set VSIX version to 2.5.2.1 and updated the release notes.
- #86: [VS Project Templates] VS Template for Entities Places Project Directory One Level Too High
- Refactored code in the
Child
wizard to place the generated Entities in the correct directory level.
- Refactored code in the
- #87: [VSIX] [VS Templates] Change Use of NuGet for VS2013 and VS2015 VSIX Installers
- Removed
packages.config
from project templates for both VS2013 and VS2015 so that the updated NuGet VS Wizard will properly install NuGet packages from the VSIX file. - This issue was discussed here: NuGet/Home#598.
- Removed
Known Issues:
- #88: [Known Issue] [VSIX] VS2013 Template for Entities Sometimes Fails to Delete Temporary Parent Directory
- There is a known issue for the VS2013 Entities templates in which a temporary parent directory is not deleted.
- The workaround is to delete the temporary directory manually.
- This issue only concerns VS2013. I have not observed the behavior with VS 2015.
Version 2.5.2
This release includes fixes for the following issues / pull requests:
- #51: Setting parent in 0/1-M relation to Added does not cascade to children
- Fix to
ApplyChanges
to include check for 0/1-M relations in cascade Adds - Check parent
EntityState
rather than TrackingState, because parent may be a child of an added parent
- Fix to
- #65: Remove Method on ChangeTrackingCollection: Disable Change Tracking
- Fix to
Remove
andSetTracking
so that change-tracking is only disabled on deletes for 1-M relations.
- Fix to
- #64: Correct problems with WCF template for VS 2013
- Replaced T4 templates and code gen package in service entities with Shared.Net45, and updated csproj and vstemplate files accordingly.
- Set default namespace in client and service entities projects to match, so that WCF serialization is happy.
NuGet packages for v2.5.2 have been generated and uploaded to NuGet.org.
VSIX installers and samples now include v2.5.2 packages, as well as EF 6.1.3.
To debug packages, follow instructions on the project Debugging page.
Version 2.5.1
This release includes fixes for the following issues / pull requests:
- MergeChanges won't see public properties of the base class: #45
- Fix to MergeChanges to include base class properties
- Unable to place a new order for an existing product: #46
- Fix to ApplyChanges to set correct state for added entities with M-1 and 1-1 related entities
NuGet packages for v2.5.1 have been generated and uploaded to NuGet.org.
VSIX installers and samples still include v2.5.0 packages, so you should update NuGet packages to v2.5.1 after creating new Trackable Entities projects.
To debug packages, add the following symbol source to Visual Studio:
http://srv.symbolsource.org/pdb/Public
Version 2.5.0
Features slated for this release:
- New base class: EntityBase #26
- Support for inheritance
- Change tracking, merge changes #26
- Updated Entity T4 templates #29
- Use EntityBase
- Property setters call parameterless NotifyPropertyChanged method
- Removed JsonObject and DataContract attributes
- Updated VS project and item templates
- Minor bug fixes