Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Linq To SQL Fagdag 20. November 2009. DataContext  DataContexten er mappingen mot databasen –Generer objekter for alle entiteter (tabeller), med properties.

Liknende presentasjoner


Presentasjon om: "Linq To SQL Fagdag 20. November 2009. DataContext  DataContexten er mappingen mot databasen –Generer objekter for alle entiteter (tabeller), med properties."— Utskrift av presentasjonen:

1 Linq To SQL Fagdag 20. November 2009

2 DataContext  DataContexten er mappingen mot databasen –Generer objekter for alle entiteter (tabeller), med properties for alle kolonner –Det er disse objektene vi jobber med, og når vi submitter endringer så sørger DataContexten for at databasen oppdateres korrekt –Henter vi ut samme entitet flere ganger, så ser DataContexten dette og sørger for at det kun er ett objektet som representerer entiteten  Sette opp DataContext: –Add new item: LINQ to SQL Classes -> gir deg en.dbml fil –Koble opp databaseconnection i server explorer og utvid den så du ser tabellene –Dra de tabellene du ønsker å bruke fra server explorer inn i vinduet til.dbml filen Selskapspresentasjon 2007 Side 2

3 Entiteter og tabeller vs klasser og properties  Opprett en instans av datacontexten din: –MyDataContext dataContextenMin = new MyDataContext();  Hver entitet har blitt til en en klasse –Entiteten Person -> klassen MyDataContext.Person  Selve tabellen får man tak i som en property på datacontexten med en ”s” lagt til på slutten av navnet –Tabellen Person -> dataContextenMin.Persons av type System.Data.Linq.Table Selskapspresentasjon 2007 Side 3

4 Enkle spørringer  Hent data fra en tabell var persons = from person in dataContextenMin.Persons Select person; Selskapspresentasjon 2007 Side 4

5 Enkle spørringer  Sett inn data in en tabell ved å opprette en ny instans av en entitet og bruke InsertOnSubmit på tabellen og SubmitChanges på datacontexten Person nyPerson = new Person(){Navn = ”Per”}; dataContextenMin.Persons.InsertOnSubmit(nyPerson); dataContextenMin.SubmitChanges(); Selskapspresentasjon 2007 Side 5

6 Enkle spørringer  Endre data ved å hente ut en entitet, endre den og så kjøre SubmitChanges på datacontexten Person personSomSkalEndres = from person in dataContextenMin.Persons where person.Id == 1 select person; personSomSkalEndres.Navn = ”Truls”; dataContextenMin.SubmitChanges();  Evt slett den ved å kjøres DeleteOnSubmit på tabellen dataContextenMin.DeleteOnSubmit(personSomSkalEndres); dataContextenMin.SubmitChanges(); Selskapspresentasjon 2007 Side 6

7 Join Var personerMedFylke = from person in dataContextenMin.Persons join fylke in dataContextenMin.Fylkes on person.fylkeId equals fylke.Id select new{person.Navn, fylke.Navn}; Selskapspresentasjon 2007 Side 7

8 Group by og orderby Var personsGroupedByFylke = from person in dataContextenMin.Persons group person by person.fylkeId into groupedPersons from person in groupedPersons select person; Var personsGroupedByFylke = from person in dataContextenMin.Persons orderby person.fylkeId select person; Selskapspresentasjon 2007 Side 8

9 IQueryable vs IEnumerable Var personsInOppland = from person in dataContextenMin.Persons where fylkeId==2 select person; (ingenting kjørt mot databasen enda) Var personsInOpplandAbove50Years = from person in personsInOppland where person.Age > 50 select person; (fortsatt ingen spørring kjørt mot databasen) Foreach(var person in personsInOpplandAbove50Years){ Console.WriteLine(person.Name+” er over 50 år og bor i Oppland); } I det første element blir forsøkt hentet, så kjøres den sammensatte spørringen mot databasen. Selskapspresentasjon 2007 Side 9

10 Oppgavene  Databasen ligger i prosjektet (Fagdag.mdf) –Du kan se innholdet i en tabell ved å gå i server explorer, utvide Fagdag.mdf så du ser tabellene, høyreklikk på en tabell og velg ”Show Table Data”. Greit for å vite hvilke ID-er som er gyldige å lete etter hvis du trenger det ;) –Databasen er relativt enkel; det er ikke satt opp fremmednøkler så relasjonene er ”gitt” ved navnet på kolonnene. TrackId i Person-tabellen skal være et tall som finnes i Id i Track-tabellen, osv –Løsningen finnes i alle oppgavene, men prøv å løs de selv! Kanskje finner du en smartere måte å gjøre det på Selskapspresentasjon 2007 Side 10


Laste ned ppt "Linq To SQL Fagdag 20. November 2009. DataContext  DataContexten er mappingen mot databasen –Generer objekter for alle entiteter (tabeller), med properties."

Liknende presentasjoner


Annonser fra Google