Zapytania Linq
Podstawowe zapytania linq:
Wyświetlanie elementów z bazy:
private void button1_Click(object sender, EventArgs e)
{
//Tworzymy połączenie z bazą
LinqEntities db = new LinqEntities();
dataGridView1.DataSource =
(
from pracownik in db.Pracownicy
select pracownik
).ToList();
}
Dodawanie elementów do bazy:
private void button31_Click(object sender, EventArgs e)
{
LinqEntities db = new LinqEntities();
//Procedura dodawania elementów
//1. Utwórz nowy element
Pracownicy pracownik = new Pracownicy();
//2.WYpełnij pracownikami danymi
pracownik.Imie = "Jan";
pracownik.Nazwisko = "Kowalski";
pracownik.CzyAktywny = true;
pracownik.Login = "JK1234";
pracownik.Haslo = "123456";
//3.Dodajemy utworzonego pracownika do lokalnej kolekcji
db.Pracownicy.Add(pracownik);
//4.Wysyłamy zmiany do Bazy danych
db.SaveChanges();
}
Procedura modyfikacji elementu:
private void button32_Click(object sender, EventArgs e)
{
LinqEntities db = new LinqEntities();
//Procedura modyfikacji elementu
//1.Odszukujemy modyfikowany element
var modyfikowany = db.Pracownicy.Find(1);
//2.Zmieniamy wybrane dane
modyfikowany.Login = "nowylogin";
//3.Zapisujemy zmiany w bazie
db.SaveChanges();
}
Procedura usuwania elementu:
private void kasowanieRekordu(object sender, EventArgs e)
{
LinqEntities db = new LinqEntities();
//Kasowanie rekordu
var kasowany = db.Pracownicy.Find(0);
//Kasowanie elementu z lokalnej kolekcji
db.Pracownicy.Remove(kasowany);
//zapisujemy zmiany w bazie
db.SaveChanges();
}
Procedura tworzenia zagnieżdżonych zapytań:
private void button29_Click(object sender, EventArgs e)
{
LinqEntities db = new LinqEntities();
//Zapytania mogą być zagnieżdżone czyli jedno zapytanie będzie się odwoływało do drugiego
var guery1 =
(
from towary in db.Towary
where towary.Cena > 2600
select towary
);
var query2 =
(
from towary in guery1
orderby towary.Cena
select towary
);
var query3 =
(
from towary in query2
select new
{
towary.Cena,
towary.Nazwa,
towary.Opis,
}
);
dataGridView1.DataSource =
query3.ToList();
}
Przećwicz nowe zapytania korzystając z:
Pamiętaj o stworzeniu procedur, każdego zapytania. Jako wynik przedstaw zrzut ekranu, potwierdzającego poprawność wykonania zadania.
First
FirstOrDefault
GroupBy
Single
SingleOrDefault
ToList
Count
Min
Max
Last
LastOrDefault
Average
Take
SelectMany
Skip
Join
Concat i Union
Distinct i Except
Intersect i Range
OrderBy i OrderByDescending