You are on page 1of 3

Internet programiranje

Vežba 6
LINQ i EntityFramework

1. Language Integrated Query

Primer:
int[] brojevi = { 0, 1, 2, 3, 4, 5, 6 };

// definisanje upita
var parni = from n in brojevi
where n % 2 == 0
select n;
Console.WriteLine("Parni:");
foreach (int i in parni)
Console.WriteLine(i);

var neparni = brojevi.Where(n => n % 2 != 0); n=> lambda izraz


Console.WriteLine("Parni:");
foreach (int i in neparni)
Console.WriteLine(i);

Select, Where, OrderBy klauzula:


string[] imena = { "Pera", "Mika", "Mika", "Lazar", "Ivana", "Jovan", "Jovana"
};
var upit = imena
.Where(s => s.Length > 3)
.OrderBy(s => s.ToString())
.Select(s => s)
.Distinct();
foreach (string clan in upit)
{
Console.WriteLine(clan);
}

LINQ upit primenjen na listu objekata klase:


//Uzmi sve proizvode kojih ima vise od 15 na lageru
var trazeniProizvodi = listaProizvoda.Where(p => p.Kolicina > 15)
.Select(p => p);
foreach (Proizvod p in trazeniProizvodi)
{
Console.WriteLine(p.NazivProizvoda + " na lageru: " + p.Kolicina);
}

//Uzmi sve proizvode kategorije "Stampaci"

var trazeniProizvodi = listaProizvoda


.Where(p => p.Kategorija == "Stampaci")
.Select(p => p.NazivProizvoda);
foreach (string s in trazeniProizvodi)
{
Console.WriteLine(s);
}

1
Internet programiranje

2. Entity Framework
Definicija:
Microsoft tehnologija koja omogućava pristup i obradu podataka u relacionim bazama.
Čitanje podataka:
Model1 db = new Model1(); Model1 je
List<Proizvod> proizvodi = db.Proizvod.ToList(); entitetska klasa
foreach (Proizvod item in proizvodi) koja nasleđuje
{ klasu DbContext
Console.WriteLine(item.Naziv);
}

Snimanje novog podatka:


Proizvod p = new Proizvod();
try
{
p.Naziv = "Mleko";
p.KategorijaID = 1;
p.JM = "kom";
p.Cena = 70;
p.PDV = 20m;
db.Proizvod.Add(p);
db.SaveChanges();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return;
}
Console.WriteLine("Ubacen red ciji je ID:" + p.ProizvodID);

Izmena podatka:
try
{
Proizvod p = db.Proizvod.Find(2);
p.Cena = 100;
p.Naziv = "Tastatura";
db.SaveChanges();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return;
}
Console.WriteLine("Proizvod promenjen");

2
Internet programiranje

Brisanje podatka
try
{
Proizvod p = db.Proizvod.Find(2);
db.Proizvod.Remove(p);
db.SaveChanges();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return;
}
Console.WriteLine("Red obrisan");

You might also like