Sobes.tech
Junior

Quels sont les types de LINQ?

sobes.tech IA

Réponse de l'IA

Il existe trois principaux types de LINQ:

  1. LINQ vers les objets : Requêtes sur des collections (IEnumerable<T>, List<T>, Array, etc.) en mémoire.
  2. LINQ vers XML : Requêtes sur des données XML (XDocument, XElement, etc.).
    // Exemple de LINQ vers XML
    XDocument doc = XDocument.Load("data.xml");
    var elements = from item in doc.Descendants("item")
                   where (int)item.Attribute("id") > 10
                   select new
                   {
                       Id = (int)item.Attribute("id"),
                       Name = (string)item.Element("name")
                   };
    
  3. LINQ vers ADO.NET : Requêtes sur des données stockées dans des bases de données. Inclut :
    • LINQ vers SQL : Requêtes sur des bases de données Microsoft SQL Server.
      // Exemple de LINQ vers SQL
      // Supposons qu'il y ait un DataContext et un DbSet<Product>
      var products = from p in dbContext.Products
                     where p.Price > 50
                     select p;
      
    • LINQ vers Entités : Partie d'Entity Framework, requêtes sur toute base de données supportée par EF.
      // Exemple de LINQ vers Entités (Entity Framework Core)
      // Supposons qu'il y ait un DbContext et un DbSet<Order>
      var orders = from o in dbContext.Orders
                   where o.OrderDate.Year == 2023
                   orderby o.TotalAmount descending
                   select o;
      
    • LINQ vers DataSet : Requêtes sur des objets DataSet et DataTable.
      // Exemple de LINQ vers DataSet
      // Supposons qu'il y ait un DataSet ds et un DataTable dt
      var rows = from row in dt.AsEnumerable()
                 where row.Field<int>("Quantity") > 0
                 select new
                 {
                     ProductId = row.Field<int>("ProductId"),
                     Quantity = row.Field<int>("Quantity")
                 };