Entity Framework. Net ядро ​​не добавляет классы хранимых процедур - PullRequest
0 голосов
/ 01 апреля 2020

Я генерирую классы Entity Framework в. NET Базовом приложении с помощью этой команды:

Scaffold-DbContext "Server=server name;Database=DB name;user id=user name;password=password;Trusted_Connection=False;Encrypt=True;" 
         Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models/DB 

Он работает хорошо и создает модели для всех таблиц и представлений в базе данных. Но странно, что это не создание моделей для хранимых процедур.

Что-то мне не хватает в синтаксисе скаффолдов?

1 Ответ

0 голосов
/ 01 апреля 2020

Entity Framework Core создает классы сущностей только для таблиц; хранимые процедуры или представления по-прежнему не поддерживаются.

Но есть отслеживание проблем Github, в котором вы можете найти дополнительную информацию: Поддержка отображения хранимых процедур

Как добавить хранимые процедуры (как обычная сущность) после создания леса:

  1. Создайте выходную модель вашей хранимой процедуры:

    public class SampleModel
    {
        public int ID { get; set; }
        public string Name { get; set; }
    }
    
  2. Добавьте новый DbSet в вашем контексте:

    public virtual DbSet<SampleModel> SampleModels { get; set; }
    
  3. Используйте вашу модель для вывода:

    var sampleModels = _context.SampleModels.FromSql($"EXEC ReturnAllSampleModels").ToList();
    

Готово.

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