Sobes.tech
Junior

Welke soorten LINQ zijn er?

sobes.tech AI

Antwoord van AI

Er zijn drie hoofdtypen LINQ:

  1. LINQ naar Objecten: Query's op collecties (IEnumerable<T>, List<T>, Array, enz.) in het geheugen.
  2. LINQ naar XML: Query's op XML-gegevens (XDocument, XElement, enz.).
    // Voorbeeld van LINQ naar 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 naar ADO.NET: Query's op gegevens opgeslagen in databases. Inclusief:
    • LINQ naar SQL: Query's op Microsoft SQL Server databases.
      // Voorbeeld van LINQ naar SQL
      // Er wordt aangenomen dat er een DataContext en DbSet<Product> is
      var products = from p in dbContext.Products
                     where p.Price > 50
                     select p;
      
    • LINQ naar Entities: Deel van Entity Framework, query's op elke database die door EF wordt ondersteund.
      // Voorbeeld van LINQ naar Entities (Entity Framework Core)
      // Er wordt aangenomen dat er een DbContext en DbSet<Order> is
      var orders = from o in dbContext.Orders
                   where o.OrderDate.Year == 2023
                   orderby o.TotalAmount descending
                   select o;
      
    • LINQ naar DataSet: Query's op DataSet en DataTable objecten.
      // Voorbeeld van LINQ naar DataSet
      // Er wordt aangenomen dat er een DataSet ds en een DataTable dt zijn
      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")
                 };