Почему мои хранимые процедуры не перечислены после DBScaffold (.Net Core MVC) - PullRequest
1 голос
/ 09 апреля 2019

Я хотел бы запустить параметризованную хранимую процедуру, которая выводит список фильмов на основе названия жанра (или идентификатора).Я пытался сделать это разными способами, но я всегда терпел неудачу.По сути, мои хранимые процедуры не перечислены в моделях после того, как я установил dbset в леса.

Я прошел первые шесть шагов в этой ссылке

  1. Создание хранимой процедуры

  2. Создан ASP.NET Core MVC Project (я использовал MVC - автор этого не сделал, но я полагаю, что все должно быть в порядке)

  3. Встроенное решение

  4. Установленные пакеты SQL Server (Инструменты, SQL Server, Дизайнер)

  5. База данных лесов с использованием следующего кода:

    Scaffold-DbContext "Server=SQL SERVER (e.g localhost);Database=DATABASE (e.g db_core_sp_call);Trusted_Connection=True;user id=SQL USERNAME;password=SQL PASSWORD;"
        Microsoft.EntityFrameworkCore.SqlServer 
        -OutputDir Models/DB
    

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

1 Ответ

0 голосов
/ 09 апреля 2019

В ядре ядра .net используется для сборки таблиц SQL в сущности.Не существует опции для восстановления хранимых процедур, но вы можете выполнять хранимые процедуры.Отслеживаемая проблема: Поддержка отображения хранимых процедур является открытой проблемой.

Если вам требуется выполнить хранимую процедуру с параметрами.

Для выполнения необработанных запросов SQL:

var students = _dbContext.Students.FromSql("EXECUTE dbo.GetStudents {0}",studentId).ToList();

Если вам требуется выполнить команду вставки / обновления / удаления в вашей хранимой процедуре, используйте метод ExecuteSqlCommand.

_dbContext.Database.ExecuteSqlCommand("InsertStudents @id,@name",
                          new System.Data.SqlClient.SqlParameter("@id", studentId),
                          new System.Data.SqlClient.SqlParameter("@name", name));

Таким образом, вы можете выполнить вашу хранимую процедуру в ASP.NET Core;Я надеюсь, что это должно помочь вам.Дайте мне знать, если вам потребуется дополнительная информация.:)

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