- 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:
Enregistrer un commentaire