Sobes.tech
Junior

LINQтин кандай түрлөрү бар?

sobes.tech AI

AIден жооп

LINQ-нин үч негизги түрү бар:

  1. LINQ to Objects: Жадда коллекциялар (IEnumerable<T>, List<T>, Array жана башка) боюнча суроолор.
  2. LINQ to XML: XML маалыматтарына суроолор (XDocument, XElement жана башка):
    // LINQ to 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 to ADO.NET: Маалыматтар базаларында сакталган маалыматтарга суроолор. Көбүнчө:
    • LINQ to SQL: Microsoft SQL Server базаларына суроолор:
      // LINQ to SQL мисалы
      // DataContext жана DbSet<Product> бар деп эсептелет
      var products = from p in dbContext.Products
                     where p.Price > 50
                     select p;
      
    • LINQ to Entities: Entity Frameworkтин бөлүгү, бардык EF колдоочу базаларга суроолор:
      // LINQ to Entities (Entity Framework Core) мисалы
      // DbContext жана DbSet<Order> бар деп эсептелет
      var orders = from o in dbContext.Orders
                   where o.OrderDate.Year == 2023
                   orderby o.TotalAmount descending
                   select o;
      
    • LINQ to DataSet: DataSet жана DataTable объекттерине суроолор:
      // LINQ to DataSet мисалы
      // DataSet ds жана 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")
                 };