Это не задача / проблема EF.Это задача обслуживания SQL Server.Вы правы, когда вы уменьшаете файлы / базу данных, вы оставляете свои данные фрагментированными.Вы хотите выполнить дефрагментацию сразу после.
Я бы не рекомендовал делать это обычным поведением.Если вы не выполняете ОЧЕНЬ большие удаления, количество возвращаемого пространства, вероятно, незначительно.Если вам нужно уменьшить размер, я планирую в течение небольшого времени / простоя, а также проведу дефрагментацию.
Я бы проинформировал вашего клиента об этой природе этой задачи и составил бы обычный график обслуживания для выполнения этих типовБД деятельности.Это был бы подход наилучшей практики.