1
votes

Comment échafauder des vues et des procédures stockées de SQL Server vers un projet ASP.NET Core 2.2?

J'ai une base de données existante dans SQL Server dont j'ai besoin pour me connecter au projet ASP.NET Core 2.2 avec EF Core. J'ai échafaudé les modèles et le DbContext via le Scaffold -DbContext dans la console du gestionnaire de package. Je peux accéder à toutes les données des tables. Cependant, cela n'a pas échafaudé les procédures ou les points de vue.

Il s'agit d'un obstacle majeur pour commencer à utiliser ASP.NET Core dans nos applications. Y a-t-il moyen de contourner cela? Cela peut-il être fait dans ASP.NET Core 2.2 ou dans une version ultérieure?


0 commentaires

3 Réponses :


1
votes

La procédure stockée et le mappage de vues ne sont actuellement pas pris en charge dans la structure ef core. Vous pouvez suivre les problèmes en suspens respectivement sur 245 et 827 .


3 commentaires

Merci Mustafa. Savez-vous comment contourner cela?


Vous pouvez trouver des exemples sur le site tels que stackoverflow.com/a/44231306/3445247 et stackoverflow .com / questions / 47417088 /…


Pour toute personne ayant la même question que moi, voici une confirmation que celle-ci est disponible dans l'aperçu 6 de .net core 3: github.com/aspnet/EntityFrameworkCore/issues/...



0
votes

Si vous avez besoin d'échafauder des procédures stockées dans .netcore, jetez un œil à l'utilitaire SPToCore:

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

Il vous permet d'importer toute la procédure stockée dans un dbContext séparé avec tous les ensembles de résultats de procédure stockée et le mappage des paramètres.

À présent, c'est le meilleur utilitaire pour créer une procédure stockée dans .netcore


0 commentaires

2
votes

Cela peut-il être fait dans ASP.NET Core 2.2 ou dans une version ultérieure?

Dans .NET Core 3.1 (et apparemment 3.0), il existe un support pour les vues. Voir Ingénierie inverse des vues de base de données dans les nouvelles fonctionnalités d'Entity Framework Core 3.0.

Il utilise toujours --table ou -t code>, ou sera repris avec toutes les autres tables et vues si vous ne passez pas des tables / vues particulières.

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

Le nom de la classe sera préfixé par un V.


0 commentaires