Какой подход к созданию уровня доступа к данным имеет наибольшую производительность? - PullRequest
0 голосов
/ 27 ноября 2009

Мне нужно создать приложение с очень высокой производительностью. В настоящее время я использую Entity Framework для своего уровня доступа к данным. Мое приложение должно вставлять некоторые данные связи почти каждую секунду. Я обнаружил, что Entity Framework работает медленно; для завершения метода SaveChanges () требуется около 2 секунд.

Я думал, у меня есть следующие варианты: 1. Создайте слой доступа к данным самостоятельно, используя ADO.NET; используя хранимые процедуры или специальные запросы 2. Используйте Уровень доступа к данным Enterprise Library 3. Используйте NHibernate 4. Используйте хранилище Factory: http://pooyakhamooshi.blogspot.com/search?q=repository

Что ты думаешь? какой из них быстрее для вставки данных? Какой из них быстрее настроить?

Ответы [ 2 ]

3 голосов
/ 27 ноября 2009

Если речь идет только о производительности, невозможно обойтись без использования ADO.NET напрямую, потому что каждый фреймворк, который вы будете использовать, будет использовать ADO.NET под сценой. Хотя увеличение производительности должно стоить того, и если вы не вставляете миллионы на миллионы записей, оно вряд ли будет того стоить.

Я бы посоветовал вам взглянуть на профилирование вашего приложения, чтобы понять, почему вашему приложению требуется 2 секунды для сохранения информации, оно не должно быть таким медленным. Возможно, у вас проблема с производительностью n + 1. Исправление этого, вероятно, даст вам желаемую производительность при использовании Entity Framework (или любого другого стандартного DAL в этом отношении). Сосредоточьте свои усилия на этом.

1 голос
/ 05 июня 2011

Простой ADO.NET снова зависит от того, как вы его реализуете, но с точки зрения производительности он должен быть лучшим, но его разработка займет больше времени.

Я нашел этот сайт очень полезным: http://ormbattle.net/

BLToolkit - лучший бесплатный инструмент ORM с точки зрения производительности; я впервые слышу об этом!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...