Class CollectionToDictionaryDataMigration
Inheritance
System.Object
CollectionToDictionaryDataMigration
Assembly: Eco.Core.dll
Syntax
public class CollectionToDictionaryDataMigration : CollectionMigration, IMigration
Constructors
CollectionToDictionaryDataMigration(String, String)
Declaration
public CollectionToDictionaryDataMigration(string itemSchemaType, string newSchemaType)
Parameters
Type |
Name |
Description |
System.String |
itemSchemaType |
|
System.String |
newSchemaType |
|
Properties
Declaration
public DataInput ItemInput { get; }
Property Value
Methods
Adds key output generator modification. keyGenerator
generates ReaderDataInput for an entry key.
DataInputs provided as second argument and may be used for accessing other registered data inputs.
Migration from list of CurrencyHolding to Dictionary with Currency.SerializedId as a key.
var dm = new DataMigration(typeof(BankAccount));
var holdingsMigration = new CollectionToDictionaryDataMigration(SchemaUtils.GetSchemaType(typeof(CurrencyHolding)));
var serializedId = holdingsMigration.ItemInput.Member("Currency").Member("SerializedID");
holdingsMigration.AddKeyOutputGenerator(inputs => inputs[serializedId]);
dm.MigrateMember(nameof(BankAccount.CurrencyHoldings), holdingsMigration);
Declaration
public void AddKeyOutputGenerator(Func<IDictionary<IDataInput, ReaderDataInput>, ReaderDataInput> keyGenerator)
Parameters
Declaration
public void AddKeyOutputGenerator<TOutput>(Func<IDictionary<IDataInput, ReaderDataInput>, TOutput> keyGenerator)
Parameters
Type Parameters
Initialize(MigrationManager)
Declaration
public override void Initialize(MigrationManager manager)
Parameters
Overrides
Migrate(MigrationContext)
Declaration
public override void Migrate(MigrationContext context)
Parameters
Overrides
MigrateEntries(Int32, MigrationContext, BinaryWriter)
Migrates Collection to Dictionary entries. Number of entries provided as count
. Migrated content written to writer
.
Declaration
protected int MigrateEntries(int count, MigrationContext context, BinaryWriter writer)
Parameters
Type |
Name |
Description |
System.Int32 |
count |
|
MigrationContext |
context |
|
System.IO.BinaryWriter |
writer |
|
Returns
Type |
Description |
System.Int32 |
|
Implements
Extension Methods