Чрезвычайно низкая производительность при использовании Code-First с выпуском Entity Framework 4.1

Наша компания разрабатывает новое приложение, в основе которого лежит довольно большой объект бизнес-данных. Мы решили сначала попробовать Entity Framework с кодом, чтобы абстрагировать базу данных от приложения, но все пошло наперекосяк. Бизнес-объект состоит примерно из 60 классов, всего около 600 свойств; однако это древовидная структура и никаких указателей пересечения / обратного отслеживания нет.

Наш тест заключался в добавлении одного неинициализированного экземпляра класса в базу данных. Использование DbContext.Add в нашей структуре данных заняло 8 минут на моей машине разработки. Это ожидаемая производительность объекта такого размера? Есть ли список распространенных проблем, вызывающих низкую производительность Entity Framework? Я чувствую, что мне нужна помощь с этим.

Еще несколько точек данных: на первом уровне под корнем бизнес-объекта находится 27 элементов. При наличии 3 элементов (остальные закомментированы) время добавления составляет 4,5 секунды. При наличии 5 элементов это 11,8 секунды. При наличии 8 элементов это 1 минута 12,5 секунды. Очевидно, что размер этих элементов значительно различается, но это действительно указывает на систематическую проблему определенного рода.

13
задан dythim 8 August 2011 в 22:54
поделиться