public virtual void InitializeObject(MigrationContext context) { Type type = context.CurrentObject.GetType(); TypeMapping mapping = context.GetTypeMapping(type); if (null == mapping) { mapping = TypeMapping.Default; } FieldInfo[] fields = context.GetSerializableFields(type); foreach (FieldInfo field in fields) { context.EnterField(field); IFieldInitializer initializer = mapping.GetFieldInitializer(field.Name); initializer.InitializeField(context); context.LeaveField(); } }