2 Grundlagen Persistenzframeworks
2 Grundlagen Persistenzframeworks
2 Grundlagen Persistenzframeworks
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Anhang A: Quellcode zu den Klassen im LINQ to SQL-BeispielA Quellcode zu den Abfragen im LINQ to SQL-BeispielÖffnen eines DataContext, Laden der Tabellen, Abfragen der Autos:FahrtenbuchDataContext ctx = newFahrtenbuchDataContext(Properties.Settings.Default.ConnectionString);Table tAutos = ctx.Automobils;Table tPersonen = ctx.Persons;Table tFahrten = ctx.Fahrts;IQueryable qAutos = from auto in tAutos select auto;Es wird folgender SQL-Ausdruck generiert:SELECT [t0].[Kennzeichen], [t0].[Typ], [t0].[Erstzulassung],[t0].[Halter] FROM [dbo].[Automobil] AS [t0]Abfrage aller Automobile, deren Typ mit "BMW" beginnt:IQueryable qAutos = from auto in tAutos where(auto.Typ.StartsWith("BMW")) select auto;Es wird folgender SQL-Ausdruck generiert:SELECT [t0].[Kennzeichen], [t0].[Typ], [t0].[Erstzulassung],[t0].[Halter] FROM [dbo].[Automobil] AS [t0]WHERE [t0].[Typ] LIKE BMW%Abfrage aller Automobile, deren Halter den Vornamen "Georg" trägt:IQueryable qAutos = from auto in tAutos where(auto.Person.Vorname.Equals("Georg")) select auto;Es wird folgender SQL-Ausdruck mit JOIN generiert:SELECT [t0].[Kennzeichen], [t0].[Typ], [t0].[Erstzulassung],[t0].[Halter] FROM [dbo].[Automobil] AS [t0] LEFT OUTER JOIN[dbo].[Person] AS [t1] ON [t1].[PersonID] = [t0].[Halter]WHERE [t1].[Vorname] = 'Georg'Abfrage einer Person mit dem Vornamen "Georg", dessen Automobils, Erstellung einerneuen Fahrt, Speichern der neuen Fahrt:Person georg = (from person in tPersonen whereperson.Vorname.Equals("Georg") select person).First();Automobil georgsAuto = (from auto in tAutos where(auto.Person == georg select auto).First();Fahrt neueFahrt = new Fahrt { Automobil = georgsAuto, Person = georg,geschaeftlich = false, Zeit = DateTime.Now, Zweck = "Winterreifen" };tFahrten.InsertOnSubmit(neueFahrt);ctx.SubmitChanges();23