LINQ reprezinta un limbaj flexibil, cu o sintaxa asemanatoare SQL, creat pentru a oferi programatorului posibilitatea de a interoga un set de date, de orice fel (din baza de date, XML sau o colectie simpla de obiecte).
Presupunem ca avem urmatoarea structura a claselor:
class Book { public string Title { get; set; } public int AuthorId { get; set; } public int Year { get; set; } public Book(string title, int authorId, int year) { Title = title; AuthorId = authorId; Year = year; } public override string ToString() { return String.Format("{0}, {1}", Title, Year); } }
class Author { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public Author(int id, string firstName, string lastName) { Id = id; FirstName = firstName; LastName = lastName; } }
List<Author> authors = new List<Author>(); authors.Add(new Author(1, "Jose", "Saramago")); authors.Add(new Author(2, "Victor", "Hugo")); List<Book> myBooks = new List<Book>(); myBooks.Add(new Book("Eseu despre orbire", 1, 1995)); myBooks.Add(new Book("Mizerabilii", 2, 1862)); myBooks.Add(new Book("Pedepsele", 1853, 2));
In acest moment, LINQ imi permite, cu ajutorul celei mai simple interogari sa creez o lista cu toate cartile:
var allBooks = from books in myBooks select books;
Observati folosirea cuvantul cheie var despre care am mai vorbit.
Afisarea informatiilor poate fi facuta printr-o simpla iteratie:
foreach (Book book in allBooks) { Console.WriteLine(book.ToString()); }
LINQ are o putere foarte mare in interogarea oricarui tip de sursa de date. Pot fi accesate informatii ale unui obiect care implementeaza interfata IEnumerable.
Voi continua aceasta serie de exemple LINQ pentru a ajunge la interogari complexe.
Pingback/Trackback
Ordonarea unei colectii cu LINQ | by zeltera
Pingback/Trackback
Filtrarea unei colectii cu LINQ | by zeltera
Pingback/Trackback
Combinarea datelor in LINQ | by zeltera