Я проверил исходный код SubSonic .. и обнаружил, что генератор классов VB не реализует IActiveRecord. Я думаю, что наиболее вероятно, потому что VB.Net, кажется, не поддерживает «повторную реализацию» наследования или как вы это называете ...
Поэтому, когда я отлаживаю, я обнаружил, что Utility.IsSubSonicType возвращает false (потому что класс ActiveRecord возвращается как IReadOnlyRecord, но IsSubSonicType проверяет IActiveRecord и IRecordBase) и, следовательно, не вызывает SetLoadState и MarkClean.
Так что я не уверен, является ли это ошибкой или преднамеренной. Есть ли способ решить эту проблему?