[Мы используем ActiveRecord.]
Во время работы Sql Server Profiler мы заметили, что простому «Сохранить» предшествовал значительный объем активности базы данных.Мы обнаружили, что ядро SubSonic проходит через все свойства и сохраняет их значения в словаре, прежде чем оно действительно выполнит сохранение.
Обычно мы «расширяем» наши объекты данных в частичные классы, которые включают в себя некоторые свойства, требующие работы с базой данных.,Здесь происходит дополнительная активность, и, насколько мы можем судить, излишне.
Мы изменили, где скрипт создает свойство из каждого столбца базы данных, чтобы теперь он украшал эти свойства с помощью [LocalData].Затем мы изменили ядро (Extensions.Objects.ToDictionary), чтобы пропустить GetValue, если этот атрибут отсутствует.
В одном тесте с большим количеством операций сохранения типа базы данных мы увидели, что истекшее время сократилось с 21 секунды2, и активность базы данных упадет примерно на две трети.
Во всем этом есть два вопроса: 1) была ли функция, которую мы пропустили, что сделало бы наши изменения ненужными, и 2) если нет, сделайтеВы знаете о некоторых других связанных с ToDictionary процессах, которые теперь будут прерываться?
Спасибо!