18.9.20

Entity Framework Core Asp.net Core MVC

 - créer un nouveau projet "Application web ASP.NET Core"

Application web (MVC)

- installer les package nuget suivants :

Microsoft.EntityFrameworkCore.SqlServer

Microsoft.EntityFrameworkCore.Tools

dans la console du gestionnaire de package nuget :

dotnet tool install --global dotnet-ef

dotnet restore

dotnet ef dbcontext scaffold "Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=C:\Users\xxx\Desktop\testSqlServer.mdf; Integrated Security=True;" Microsoft.EntityFrameworkCore.SqlServer -o Modelsxxx --project TestGenerateModels

- dans le fichier appsettings.json ajouter la ligne :

"ConnectionString": "Data Source=(localdb)\\MSSQLLocalDB;AttachDbFilename=C:\\Users\\xxx\\Desktop\\testSqlServer.mdf; Integrated Security=True;"

- dans le fichier Startup.cs

//hyper important de mettre une valeur dans la variable pour la suite

public static string ConnectionString = "bla bla bla";

- dans le fichier Startup.cs, dans méthode Configure :

Startup.ConnectionString = @Configuration.GetSection("ConnectionString").Value;

- dans le fichier de context, méthode OnConfiguring :

optionsBuilder.UseSqlServer(Startup.ConnectionString);

- dans le context ajouter la variable privée :

private string _connectionString;

- dans le context adapter le constructeur par défaut pour qu'il prenne un paramètre :

public SqlServerContext(string connectionString)

        {

            this._connectionString = connectionString;

        }

- sur le dossier "Controllers", clic droite, ajouter controlleur

Controler MVC avec EntityFramework

choisir le model

choisir le context

- dans le context ajouter un constructeur par défaut

- dans le fichier Startup.cs changer tout à la fin le nom du controller a charger par défaut pour tester

- dans le controller, commenter le constructeur qui reçoit le context en paramètre et ajouter :

public PersonnesController()

        {

            this._context = new SQLiteContext(Startup.ConnectionString);

        }


Aucun commentaire: