Наша компания разрабатывает новое приложение, в основе которого лежит несколько крупных бизнес-данных. Мы решили опробовать Entity Framework с первым кодом для абстрагирования базы данных из приложения, но все пошло не так. Бизнес-объект состоит из примерно 60 классов и всего около 600 объектов; однако это древовидная структура, и никаких указателей перекрестного/обратного отслеживания не существует.
Наш тест состоял в том, чтобы добавить один, неинициализированный экземпляр класса в базу данных. Использование DbContext.Add в нашей структуре данных заняло 8 минут на моей машине разработки. Является ли это ожидаемой производительностью объекта такого размера? Есть ли список общих проблем, которые приводят к плохой работе с Entity Framework? Я чувствую, что мне нужна помощь.
Еще несколько точек данных: на первом уровне под корнем бизнес-объекта имеется 27 элементов. При наличии трех элементов (остальные прокомментировали), время добавления составляет 4,5 секунды. При наличии 5 элементов - 11,8 секунды. При наличии 8 элементов это 1 минута 12,5 секунд. Очевидно, что размер этих элементов значительно различается, но они, похоже, указывают на системную проблему.