Se connecter à SQL Server avec .NET Core
Introduction
.NET Core est un framework open-source populaire pour le développement d'applications Web, d'API et d'applications mobiles. Il est souvent utilisé avec Microsoft SQL Server, un système de gestion de bases de données relationnelles (SGBDR) puissant. La connexion à SQL Server à partir de .NET Core est une tâche courante, et il existe plusieurs méthodes pour y parvenir. Dans cet article, nous allons explorer les différentes options de connexion, et fournir des exemples de code pour illustrer les concepts.
Méthodes de connexion
Il existe deux principales méthodes de connexion à SQL Server à partir de .NET Core :
-
Utilisation de
SqlConnection
: Cette méthode traditionnelle utilise la classeSqlConnection
de l'espace de nomsSystem.Data.SqlClient
. Elle permet une connexion directe à la base de données et offre un contrôle précis sur la connexion. -
Utilisation de
DbContext
(Entity Framework Core): Cette méthode utilise Entity Framework Core (EF Core), un framework ORM (Object-Relational Mapper) qui simplifie les interactions avec les bases de données. EF Core utilise unDbContext
pour gérer les connexions, les requêtes et les opérations CRUD.
Exemple de code avec SqlConnection
using System.Data.SqlClient;
// Chaîne de connexion à la base de données
string connectionString = "Server=localhost;Database=MyDatabase;User Id=sa;Password=Password123;";
// Créer un objet SqlConnection
using (SqlConnection connection = new SqlConnection(connectionString))
{
// Ouvrir la connexion
connection.Open();
// Créer une commande SQL
using (SqlCommand command = new SqlCommand("SELECT * FROM Customers", connection))
{
// Exécuter la commande
using (SqlDataReader reader = command.ExecuteReader())
{
// Lire les données
while (reader.Read())
{
// Afficher les données
Console.WriteLine(reader["CustomerID"] + " - " + reader["CustomerName"]);
}
}
}
}
Exemple de code avec DbContext
(EF Core)
using Microsoft.EntityFrameworkCore;
// Classe de contexte de base de données
public class MyDbContext : DbContext
{
public DbSet Customers { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("Server=localhost;Database=MyDatabase;User Id=sa;Password=Password123;");
}
}
// Classe d'entité
public class Customer
{
public int CustomerID { get; set; }
public string CustomerName { get; set; }
}
// Code pour accéder aux données
using (var context = new MyDbContext())
{
// Récupérer tous les clients
var customers = context.Customers.ToList();
// Afficher les données
foreach (var customer in customers)
{
Console.WriteLine(customer.CustomerID + " - " + customer.CustomerName);
}
}
Conclusion
L'utilisation de .NET Core avec SQL Server offre un moyen efficace de développer des applications modernes et robustes. La connexion à la base de données est un élément crucial de cette intégration, et la compréhension des méthodes de connexion est essentielle pour les développeurs .NET Core. Les deux méthodes présentées dans cet article, SqlConnection
et DbContext
, offrent des options flexibles pour la connexion et l'interaction avec les données. Le choix de la méthode dépendra des besoins spécifiques du projet et de la complexité de l'interaction avec la base de données.