Class ClassMigrationBase
Inheritance
System.Object
ClassMigrationBase
Assembly: Eco.Core.dll
Syntax
public abstract class ClassMigrationBase : Object, IInstanceMigration, IReferenceMigration, IClassMigration, IMigration
Constructors
ClassMigrationBase()
Declaration
protected ClassMigrationBase()
Properties
CompatibleSchemaTypes
Declaration
public abstract IEnumerable<string> CompatibleSchemaTypes { get; }
Property Value
Type |
Description |
System.Collections.Generic.IEnumerable<System.String> |
|
MigrationManager
Declaration
protected MigrationManager MigrationManager { get; }
Property Value
Methods
Initialize(MigrationManager)
Declaration
public virtual void Initialize(MigrationManager migrationManager)
Parameters
Migrate(MigrationContext)
Declaration
public void Migrate(MigrationContext context)
Parameters
MigrateInstance(MigrationContext)
Migrates an instance with provided context
.
It may modify context
with one of following migration results:
- ReferenceTypeName != null means that binary content was fully consumed and a reference should be serialized instead. It should contains the referenced object id in ReferenceId;
- Schema modified and output schema is a class schema, it means that original class binary data was replaced with another class binary data and it should use new object serializer;
- Schema modified and output schema is the cached serializer schema, it means that original binary content was consumed and object instance created and cached for upcoming deserialization call;
- Schema modified, but output schema not class or cached object, it means that Reader contains compatible binary data. If reader wasn't modified then it will be reset to initial position.
- Schema not modified, if Reader modified then it should be re-serialized with original serializer or just reset reader position otherwise.
Declaration
public abstract void MigrateInstance(MigrationContext context)
Parameters
MigrateReference(MigrationContext)
Migrates an reference with provided context
.
It may modify context
with one of following migration results:
- ReferenceTypeName != null means that binary content was fully consumed and a reference should be serialized instead. It should contains the referenced object id in ReferenceId;
- Schema modified and output schema is a class schema, it means that original class binary data was replaced with another class binary data and it should use new object serializer;
- Schema modified and output schema is the cached serializer schema, it means that original binary content was consumed and object instance created and cached for upcoming deserialization call;
- Schema modified, but output schema not class or cached object, it means that Reader contains compatible binary data. If reader wasn't modified then it will be reset to initial position.
- Schema not modified, if Reader modified then it should be re-serialized with original serializer or just reset reader position otherwise.
Declaration
public abstract void MigrateReference(MigrationContext context)
Parameters
Implements
Extension Methods