Я заметил в конструкторе Entity Framework, что вы можете отобразить хранимые процедуры для операций вставки, обновления и удаления.Есть ли способ сделать это и для операций выбора, или есть новое направление для кода доступа к базе данных, где мы больше не пишем хранимые процедуры для наших основных операций выбора?
Компания, в которой я работаюfor довольно непреклонно всегда использует хранимые процедуры для каждой операции базы данных, хотя Entity Framework делает вызовы безопасными, вызывая sp_executesql.
Кажется, что и LINQ to SQL, и Entity Framework отказались от использования хранимых процедурдля выбора данных.Это точное утверждение?
Просто чтобы прояснить мой вопрос:
В моей базе данных есть таблица с именем Product.Я использую мастер в Entity Framework для генерации своих моделей ... поэтому у меня теперь есть Entity под названием Product.Когда я делаю следующий запрос:
db.Products.SingleOrDefault(p => p.Id == 1);
Он генерирует код, похожий на:
EXEC sp_executesql N'SELECT * FROM Product'
Когда я действительно хочу сделать что-то вроде:
EXEC up_GetProduct @Id = 1
Еслиэто не возможно сделать с помощью SingleOrDefault, я в порядке с этим.Я бы предпочел иметь следующее:
db.Products.GetProduct(1);
Это обычно выполняется, или большинство людей просто динамически генерируют SQL?