Skip to content

Releases: TrackableEntities/trackable-entities

v2.5.7

04 Dec 15:48
Compare
Choose a tag to compare

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

09 Nov 15:29
Compare
Choose a tag to compare

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

30 Aug 19:56
Compare
Choose a tag to compare

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

30 Aug 08:09
Compare
Choose a tag to compare

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.
  • #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 in ChangeTrackingCollection so that added m-m items are not cached when removed from the collection.

Version 2.5.4

05 Feb 11:30
Compare
Choose a tag to compare

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 from ITrackable but add a TrackgingStateExtended property of type <TPropertyType>.
    • The purpose of this interface is to allow for extra metadata for change-tracking.
  • #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 of ApplyChanges by setting entity state to Unchanged instead of Modified.
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

17 Dec 12:03
Compare
Choose a tag to compare

This release resolves the following issues / pull requests:

  • #73: ApplyChanges should mark grandchild deleted
    • ApplyChanges failed to propagate deleted state to the 2nd level child entity if the 1st level child was also deleted.
    • Fixed with pull requests #73 and #91.
  • #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.

Version 2.5.2.1

05 Dec 12:50
Compare
Choose a tag to compare

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.
  • #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.

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

15 May 09:13
Compare
Choose a tag to compare

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
  • #65: Remove Method on ChangeTrackingCollection: Disable Change Tracking
    • Fix to Remove and SetTracking so that change-tracking is only disabled on deletes for 1-M relations.
  • #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

20 Apr 17:29
Compare
Choose a tag to compare

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

02 Mar 13:54
Compare
Choose a tag to compare

Features slated for this release:

  • New base class: EntityBase #26
    • Non-generic
    • Also implements ITrackable, IIdentifyable (IEquatable)
    • Better implementation of INotifyPropertyChanged (parameterless) #27
    • Updated Clone method to configure serializer to handle cycles #28
    • Removed DataContract and JsonProperty Attributes #39
  • 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
    • Added packages for serializer configuration #31
    • Created packages for code templates
    • Added EDMX template for shared entities
    • Added code for configuring serializers to handle cycles #32
    • Update templates to use shared entities #33
    • Replaced IoC container for patterns sample and template #23
  • Minor bug fixes
    • SetModifiedProperties Should Not Affect Parent or Sibling Entities #42
    • DbContext.ApplyChanges Throws Exception when Adding Child M2M Entity #43