2014-11-02 7 views
2

Мой веб-проект использует ORAC для обработки данных telerik, когда я занимаюсь данными, я могу использовать хранимые процедуры или прямой код записи. Я считаю, что более эффективно использовать хранимые процедуры. Но некоторые из моих соседей говорят, что использование хранимых процедур трудно поддерживать, особенно для некоторых новобранцев. Может ли кто-нибудь сказать мне, когда использовать хранимые процедуры и когда прямой код писать в ORM лучше?Я буду использовать хранимые процедуры или прямой код записи в веб-проекте mvc? Что лучше?

ответ

1

Вся идея использования ORM заключается в том, что вам больше не нужно писать много «необработанного» SQL-кода - вы работаете с уровнем ORM, чтобы вернуть хорошие объекты .NET из базы данных, и вы работаете с этими ,

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

+0

Thanks.When иметь дело с различными базами данных, такими как mysql или sqlserver, я думаю, что ORM помогает мне сделать это. Теперь моя база данных содержит более 40 хранимых процедур. Мне просто интересно, есть ли у нее слишком хранимые процедуры. – Lyly

+0

Позвольте мне добавить, что с точки зрения доступа к данным Telerik вы можете выполнять как хранимые процедуры, так и LINQ. Вы можете найти полезные ресурсы: [Хранимые процедуры и функции] (http://docs.telerik.com/data-access/developers-guide/stored-procedures-and-functions/developer-guide-crud-sp-support -overview), [Поддержка LINQ] (http://docs.telerik.com/data-access/developers-guide/linq-support/data-access-feature-ref-linq-support-querying-overview). Кроме того, для вопросов, связанных с доступом к данным, вы можете опубликовать свой вопрос на форумах Telerik (http://www.telerik.com/forums/data-access). –