C# Language Connexions Entity Framework


Exemple

Entity Framework expose les classes d'abstraction utilisées pour interagir avec les bases de données sous-jacentes sous la forme de classes telles que DbContext . Ces contextes sont généralement des DbSet<T> qui exposent les collections disponibles pouvant être interrogées:

public class ExampleContext: DbContext 
{ 
    public virtual DbSet<Widgets> Widgets { get; set; } 
}

DbContext lui-même les connexions avec les bases de données et lit généralement les données de chaîne de connexion appropriées dans une configuration pour déterminer comment établir les connexions:

public class ExampleContext: DbContext 
{ 
    // The parameter being passed in to the base constructor indicates the name of the 
    // connection string
    public ExampleContext() : base("ExampleContextEntities")
    {
    }

    public virtual DbSet<Widgets> Widgets { get; set; } 
}

Exécution de requêtes Entity Framework

Effectivement, l'exécution d'une requête Entity Framework peut être assez simple et nécessite simplement de créer une instance du contexte, puis d'utiliser les propriétés disponibles pour extraire ou accéder à vos données.

using(var context = new ExampleContext())
{
      // Retrieve all of the Widgets in your database
      var data = context.Widgets.ToList();
}

Entity Framework fournit également un système complet de suivi des modifications qui peut être utilisé pour gérer les entrées de mise à jour dans votre base de données en appelant simplement la méthode SaveChanges() pour transmettre les modifications à la base de données:

using(var context = new ExampleContext())
{
      // Grab the widget you wish to update
      var widget = context.Widgets.Find(w => w.Id == id);
      // If it exists, update it
      if(widget != null)
      {
           // Update your widget and save your changes
           widget.Updated = DateTime.UtcNow;
           context.SaveChanges();
      }
}