2017-02-04 4 views
0

Какой способ использовать для создания масштабируемой системы в C# ASP.NET MVC 5?Способ хранимой процедуры или способ Entity Framework для подключения к базе данных

Должен ли я использовать способ хранимой процедуры или способ Entity Framework для подключения к базе данных?

Один из нашей головы настаивает, чтобы использовать хранимую процедуру так, даже для всех вставок, удаляет запросы и т.д.

Какой из них лучше, с точки зрения производительности? Я хочу создать онлайн-тестовую документацию, которую параллельно будут принимать около 500 человек одновременно, каждая из которых имеет около 50 вопросов.

+0

С моей точки зрения EF работает медленнее, чем хранимые процедуры, но я не думаю, что 500 запросов достаточно, чтобы увидеть разницу. Поэтому я бы рекомендовал использовать EF, производительность в вашем случае ** не должна быть проблемой, я бы пошел на удобочитаемость и простой письменный код. – MaLiN2223

ответ

0

Я думаю, вы можете обратиться к вопросу Entity Framework Vs Stored Procedures - Performance Measure

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

0

Ее зависит от многих факторов, некоторое время вы чувствовали это довольно легко использовать в приложении, и через некоторое время, когда данные будут быть больше времени, чтобы снова подумать.

Так см это рассматривать entity framework performance

так легко понять. Я хотел бы дать вам еще один отказ от одного проекта с открытым исходным кодом, так что это поможет вам, я надеюсь. http://www.nopcommerce.com/

, когда вы видите этот код приложения, это действительно оптимизирует использование EF. Спасибо

0

На очень высоком уровне обратите внимание, что если у вас уже есть настройка базы данных, используйте Entity Framework, если вам нужно добавить, обновить или удалить запись как часть вашей функциональности. EF имеет разные параметры конфигурации, чтобы диктовать, как изменения модели сохраняются в базе данных.

Если у вас есть массовые изменения партии, использование EF будет сложным с целым LINQ и SQL взад и вперед. Однако в EF есть расширения, которые позволяют массовые операции. Хранимые процедуры избавляются от этой суеты. Но LINQ имеет свои преимущества с безопасностью типа, проверяемой и т. Д.

0

Просмотрев количество пользователей, вы можете использовать их. Вы не увидите большой разницы в производительности. Мой опыт заключается в том, что, используя инфраструктуру сущности, вы можете быстрее ее разрабатывать хранимые процедуры. Использование dapper с хранимой процедурой может быть другим способом. Чтобы быть откровенным, вы можете заметить только разницу в производительности с большими базами данных.