This release of DevForce 2010 adds support for Visual Studio 2013 Preview, and also includes several defect repairs.
Improved performance when calling EntityManager.ImportEntities, and of the EntityCacheState when calling CacheStateManager.GetCacheState, RestoreCacheState and Merge. This improvement is due to a change in the "deep cloning" methodology used by DevForce, and also affects 2-tier EntityManager.SaveChanges calls. [F2136]
This change may be breaking to some applications; see the Breaking Changes section below for more information. This feature was a suggestion on DevForce UserVoice.
The IdeaBlade.VisualStudio.OM.CodeGenerator.* assembly has been renamed to IdeaBlade.VisualStudio.OM.CodeGenerator.v6.dll in all supported Visual Studio versions. Previously, separate assemblies were used for VS2010 and VS2012.
If you have not customized the code generation process, delete the *.edmx.tt file from your project so that DevForce will generate a new file with the correct assembly reference. If you have customized code generation, change the assembly name as noted above.
Previous versions of DevForce performed a "deep clone" using the DataContractSerializer (DCS). This can be a performance bottleneck, and DevForce now uses custom cloning logic in the new ReflectionCloner. Unlike the DCS, this cloner will call the default constructor for cloned objects. If a default constructor does not exist, in .NET 4.x environments FormatterServices.GetUnitializedObject() is used, while an exception will be thrown in Silverlight.
Silverlight applications many need to grant "friend" access to Ideablade.Core.SL to allow reflection on internal properties and methods. See the topics Make project internals visible to DevForce and Make internal properties visible in Silverlight for more information.
If this new cloning behavior causes problems, you may revert to use of the DCS by setting CloningFns.DefaultCloningMethod:
CloningFns.DefaultCloningMethod = CloningMethod.DCS
Code First