Daten Model Strukturen von SQL Server Tabellen in ASP.Net Models übertragen
Wenn man eine bestehende Datenbank an eine ASP.Net Core Anwendung anbinden möchte, dann kann man das mit dem Befehl in Visual Studio: Scaffold DB-Context ausführen
für API oder MVC , Blazor, Angular , vue
Scaffold-DbContext "Server=.\sqlexpress;Database=API_Database01;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
|
CREATE TABLE [dbo].[Notes] ( [ID] INT IDENTITY (1, 1) NOT NULL, [Title] NVARCHAR (255) NULL, [Details] NVARCHAR (MAX) NULL, [dtEdit] DATETIME NULL, CONSTRAINT [PK_Notes] PRIMARY KEY CLUSTERED ([ID] ASC) );
|
Daten auf SQL Server
Die Tabellen der SQL Server Datenbank sind dann als Model Klasse in der ASP.Net Core Anwendung
namespace Demo_Api02.Models { public partial class Note { public int Id { get; set; } public string Title { get; set; } public string Details { get; set; } public DateTime? DtEdit { get; set; } } }
|
Voraussetzung:
Wichtig: Damit man das Datenmodel automatisch in Asp.Net Core einbinden kann, muss man die folgenden Entity Framework dll Komponenten als Nuget Package eingebunden haben.
A) Voraussetzung Entity Frameworks in der ASP Anwendung
1) Microsoft.EntityFrameworkCore
2) Microsoft.EntityFrameworkCore.Design
3) Microsoft.EntityFrameworkCore.Tools
4) Microsoft.EntityFrameworkCore.SqlServer
b) Voraussetzung: Framwork in PM Console
damit das Scaffolding per PM Console ausgeführt werden kann muss zuvor die folgenden Befehle ausgeführt werden
PM:
Install-Package Microsoft.EntityFrameworkCore.Tools
PM:
Update-Package Microsoft.EntityFrameworkCore.Tools
Visual Studio Package Manager Console
Die Visual Studio Package Manager Console (wie PowerShell, cmd) findet man unter
Visual Studio->Menü->Tools->NuGet Package Manger->Package Manager Console
Danach wird dies in der Fußzeile des Visual Studio angezeigt