LINQ против хранимых процедур против встроенных запросов - PullRequest
3 голосов
/ 30 сентября 2011

Мы небольшая команда, работающая в очень сжатые сроки для разработки большого веб-приложения в .NET. Мы используем несколько баз данных (по одной на клиента), поэтому наши требования немного отличаются от большинства приложений. Базы данных будут использоваться только для этого конкретного приложения, поэтому не имеет значения, тесно ли они связаны с приложением. Основными решающими факторами являются скорость разработки, долгосрочная ремонтопригодность и безопасность. Мы рассматриваем 3 варианта:

Вариант 1 - LINQ to SQL

Никто из нас не имеет опыта работы с LINQ, но мы изучали его, и он кажется хорошим вариантом и не слишком сложным для изучения. Стоит ли рисковать изучением нового метода в сжатые сроки?

Вариант 2 - Хранимые процедуры

Похоже, что это может быть кошмаром для поддержки установки нескольких баз данных (или так?), И это может замедлить разработку для работы в другой среде, поскольку у нас нет специального разработчика базы данных. Основные запросы CRUD будут генерироваться генератором кода, что является преимуществом.

Вариант 3 - Встроенные запросы

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

Пожалуйста, дайте мне знать, если какие-то факторы нам не хватает. Какое решение кажется наиболее подходящим для этого проекта?

Ответы [ 2 ]

5 голосов
/ 30 сентября 2011

Если у вас сжатые сроки, не пробуйте что-то новое. Попросите разработчиков изучить Entity Framework дома и в свободное время и попробовать это в следующем проекте. Тем временем делайте то, что вы знаете лучше всего и успешно использовали в прошлом.

Встроенные запросы не являются плохими, если они отделены в сборке DAL.

1 голос
/ 30 сентября 2011

С тех пор, как @ Хасан Хан рассмотрел основные ответы, касающиеся SQL. Я собираюсь выбросить несколько другой ответ. Другой вариант - рассмотреть использование RavenDB, базы данных NoSQL. В нем заложена концепция баз данных арендаторов. Что из ваших требований звучит так, как будто это намеченная цель.

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