Глядя на исходный код Orchard, для быстрого ознакомления браузер исходного кода codeplex
Класс Orchard.Data.Migration.DataMigrationManager использует отражение над всеми внедренными классами IDataMigration и вызывает следующий метод
/// <summary>
/// Returns the Create method from a data migration class if it's found
/// </summary>
private static MethodInfo GetCreateMethod(IDataMigration dataMigration) {
var methodInfo = dataMigration.GetType().GetMethod("Create", BindingFlags.Public | BindingFlags.Instance);
if(methodInfo != null && methodInfo.ReturnType == typeof(int)) {
return methodInfo;
}
return null;
}
Кажется, что ваша функция VB не имеет ReturnType, поэтому я считаю, что она должна работать, когда вы пишете свой метод как
Public Function Create() As Integer
// do stuff
Return 1;
End Function
Public Function UpdateFrom1() As Integer
// do stuff
Return 2;
End Function