Как сформировать представления и хранимые процедуры из SQL Server в проект ASP.NET Core 2.2?

У меня есть существующая база данных в SQL Server, и мне нужно подключиться к проекту ASP.NET Core 2.2 с EF Core. Я создал модели и DbContext через Scaffold -DbContext в консоли диспетчера пакетов. Я могу получить доступ ко всем данным из таблиц. Однако это не повлияло на процедуры или взгляды.

Это серьезное препятствие для начала использования ASP.NET Core в наших приложениях. Есть ли способ обойти это? Можно ли это сделать в ASP.NET Core 2.2 или более поздней версии?


person Shepherd    schedule 24.06.2019    source источник


Ответы (3)


Сохраненные процедуры и отображение представлений в настоящее время не поддерживаются в каркасах ядра ef. Вы можете отслеживать открытые проблемы соответственно на 245 и 827.

person Mustafa Gursel    schedule 24.06.2019
comment
Спасибо, Мустафа. Вы знаете, как это обойти? - person Shepherd; 24.06.2019
comment
Вы можете найти несколько примеров на сайте, например stackoverflow.com/a/44231306/3445247 и stackoverflow .com / questions / 47417088 / - person Mustafa Gursel; 24.06.2019
comment
Для всех, кто задает тот же вопрос, что и я, вот подтверждение того, что это доступно в предварительной версии 6 для .net core 3: github.com/aspnet/EntityFrameworkCore/issues/ - person Shepherd; 25.06.2019

Можно ли это сделать в ASP.NET Core 2.2 или более поздней версии?

В .NET Core 3.1 (и, казалось бы, 3.0) есть поддержка представлений. См. Обратный инжиниринг представлений базы данных в Новые возможности Entity Framework Core 3.0.

Он по-прежнему использует --table или -t, или будет взят со всеми другими таблицами и представлениями, если вы не передадите определенные таблицы / представления.

dotnet ef dbcontext scaffold "Connection-String-Information" Microsoft.EntityFrameworkCore.SqlServer -o ModelsFolderName -c DbContextName -d -v --table viewName

Имя класса будет иметь префикс V.

person James Skemp    schedule 26.08.2020

Если вам нужно сформировать хранимые процедуры в .netcore, взгляните на SPToCore Utility:

https://www.c-sharpcorner.com/article/learn-about-stored-procedure-scaffolding-utillity-for-netcore3/

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

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

person DarioN1    schedule 17.05.2020