Projekt-Anfragen: Tel: 07022/9319004 info@CodeDocu.de Software Entwicklung in C# WPF Asp.Net Core Vba Excel Word SQL-Server EF Linq, UWP Net
#

Datenbank an ASP.Net Core 2 anbinden

 

 

Schritt 1: Datenbank erstellen ohne Migration

Man kann unter ASP.Net Core entweder eine Datenbank über CodeFirst erstellen oder

Code-First

Unter Codefirst verwendet man Entitiy Framework Migration. Bei Codefirst wird die Datenbank mittels Add-Migration und Update-Database erstellt.

add-migration "Initial_Database"

 

Mit Update-Database wird dann ein Datenbank Objekt erstellt.

Diese Datenbank findet man unter dem SQL Server Objekt in Visual Studio/Menue/View

update-database

 

Connection String übernehmen

Wichig ist der Eintrag in den Properties der Datenbank. Diese Verbindung muss man in die Startup.cs Datei übernehmen und eintragen.

Connection String :

Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=Freiberufler_Datenbank;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False

 

Database First (Beschreibung hier)

Unter Database First wird die Datenbank direkt erstellt oder an eine bestehende SQL Server Datenbank angebunden.

Für größere Anwendungen empfehle ich die Database-First Methode, da die Daten in einer Firma immer den Vorrang haben und die Software niemals in laufenden Datenbanken Strukturen ändern darf.

Hierbei gilt: Never-touch a running system.

1a: Datenbank erstellen:

Zum Manuellen Erstellen einer ASP.Net Core Server Datenbank öffnet man unter Visual Studio Menü/View/SQL Server Object Explorer

Dann kann man in SQL Server->(localdb)\MSSQLLocalDB->Databases

Eine neue lokale Datenbank mit Add New Database erstellen

 

 

1b: Wechsel auf Database File

 

Dabei kann man auch die Datenbank Datei direkt in das Projekt legen oder in ein passendes Verzeichnis legen

 

1d) Tabellen anlegen

Danach wechselt man auf den Server Explorer und zur Data Connections auf die neue Datenbank

In der neuen Datenbank kann man eine Tabelle anlegen mit /Tables->Add New Table

 

1e: Tabellen->Felder anlegen

Dann legt man ein ID Feld an und einige gewünschte Anwendungs-Felder

Unter dem IDFeld wählt man Properties->Identity Specitification (Is Identity) auf true

 

1f: Anfügen

Und übernimmt dann die neue Tabelle mit Update Database

 

Beispiel Code der ersten Tabelle

CREATE TABLE [dbo].[tbl_Projects] (

    [IDProject] INT            IDENTITY (1, 1) NOT NULL,

    [URL]      NVARCHAR (255) NULL,

    [Title]    NVARCHAR (255) NULL,

    [Text]     NVARCHAR (MAX) NULL,

    [dtScan]   DATETIME       NULL,

    [dtList]   DATETIME       NULL,

    PRIMARY KEY CLUSTERED ([IDProject] ASC)

);

 

 

Schritt 2) Web-Anwendung EF Entity Framework hinzufügen

 

Schritt 2a: SQL Client und EF Entitiy Framework hinzufügen

 

Erst das Entity Framework und SQL Server Client in die Anwendung einbinden

Hierzu unter Menü->Tools->Nuget Package Manager -> Package Manager Console öffnen

 

 

Dann die folgenden Befehle  durchlaufen lassen:

 

2a: Install-Package Microsoft.EntityFrameworkCore.SqlServer      

2b: Install-Package Microsoft.EntityFrameworkCore.Tools

2c: Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design

 

Zu 2a: Install-Package Microsoft.EntityFrameworkCore.SqlServer 

 

Zu 2b: Install-Package Microsoft.EntityFrameworkCore.Tools

 

Und zu 2c: Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design

 

 

Schritt 3) DBContext hinzufügen

Unter DBContext versteht man die Schnittstelle von der Datenbank zur Anwendung

Hierzu im Verzeichnis /Models oder /_Database mit Add/New Item eine neue Klasse hinzufügen

 

Hier unter dem Dialog einen Namen für die Context-Datei eingeben

 

In der Classe muss man nun die Schnittstelle von ASP.Net Core 2 zur Datenbank beschreiben.

Hierzu einfügen von

//< Using>

using Microsoft.EntityFrameworkCore;

//</ Using>

 

Dann die Klasse im liken Teil beliebig benennen und diese vom Typ :DBContext ableiten

public class app_Database_Context : DbContext

 

Dann fügt man folgende öffentliche Beschreibung der Verbindung ein, damit man diese in der Anwendung verwenden kann.

public app_Database_Context(DbContextOptions<app_Database_Context> options)

            : base(options)

        { }

 

Im letzten Schritt umschreibt man die lokale Datenmodel-Klasse zur Tabelle in der Datenbank

public DbSet<Models.Model_Project> tbl_Projects { get; set; }

 

 

Kompletter Code meiner Datei: app_Database_Context.cs , welche ich unter /_Database abgelegt habe.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Threading.Tasks;

//< Using>

using Microsoft.EntityFrameworkCore;

//</ Using>

 

namespace Freiberufler

{

    public class app_Database_Context : DbContext

    {

        public app_Database_Context(DbContextOptions<app_Database_Context> options)

            : base(options)

        { }

 

        #region EF: Datase-Tabels to Models

        //------------< region: Datase-Tables to Models >------------

        public DbSet<Models.Model_Project> tbl_Projects { get; set; }

 

        //------------</ region : Datase-Tables to Models >------------

        #endregion /EF: Datase-Tabels to Models

 

    }

}

 

 

 

Schritt 4: Startup.cs -ConfigureServices anpassen

In der Startup.cs Datei muss man die Verwendung der Datenbank als Service einfügen.

Hierzu fügt man die Zeile mit der Connection ein.

 

        public void ConfigureServices(IServiceCollection services)

        {

            var connection = @"Server=(localdb)\mssqllocaldb;Database=Freiberufler_Datenbank;Trusted_Connection=True;";

            services.AddDbContext<app_Database_Context>(options => options.UseSqlServer(connection));

            services.AddMvc();

        }

 

 

Schritt 5: Daten in MVC verwenden

Zum erstmaligen Anzeigen, Update, Create und Delete kann man ein New Scaffolded Item eine Basis-Konstruktion erstellen

Hierzu unter Controllers->Add->New Item ->New Scaffolded Item..

 

 

Dann im Dialog: Add Scaffold die Auswahl Installed->MVC->MVC Controller with views, using Entity Framework auswählen

 

Dann im Dialog: Add MVC Controller withViews, using Entity Framework

Wählt man die Model-Klasse der Bewegungsdaten wie hier Model_Projects und unter Data Context wählt man die Datenverbindung zur Datenbank

 

 

 

Anzeigen auf dem Webserver:

Wenn man nun in der Debug-Zeile aus Start Debug IIS Express startet

Und dann hinter der localhost-Adresse die Datenmodell-Klasse eingibt, dann sollte der Index ohne IIS Fehler erscheinen

URL wie: http://localhost:51081/Model_Project

 

 

 

Mobile
»
🚩#24 ASP.Net MVC Core: Web API Schnittstelle hinzufügen
»
🚩#10 Datenbank erstellen und an ASP.Net MVC Core anbinden
»
🚩#23 ASP.Net: Validation farblich anpassen
»
🚩#22 ASP.Net: Validation, Gültigkeit
»
🚩#21 ASP.Net: Update von Daten mit Speichern der Edit View
»
🚩#20 Formular Daten binden und in Datenbank anfügen
»
🚩#19 ASP.Net Core MVC : DropDown Liste einfügen
»
🚩#18 ASP.Net: Label anpassen
»
🚩#17 ASP MVC: New-Formular zum Erstellen eines Eintrags
»
EF: Standardwerte vorgeben und Typ Double und Bool von ASP.Net Model zu SQL Server

.

Jobs, Projekte, Angebote für Freiberufler, Selbstständig an Info@CodeDocu.de