#

Daten Model 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

Mobile

.