Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

René Leupold IS Developer Comgate Solutions AG Entity Framework Tipps und Tricks.

Ähnliche Präsentationen


Präsentation zum Thema: "René Leupold IS Developer Comgate Solutions AG Entity Framework Tipps und Tricks."—  Präsentation transkript:

1 René Leupold IS Developer Comgate Solutions AG Entity Framework Tipps und Tricks

2 Grösste aktive.NET User Group der Schweiz Regelmässige Treffen mit Schwerpunktthemen Nächste Events Mo, User Experience Crash Kurs Do, DotNetNuke.NET User Group Bern

3 Agenda Kontext-Laufzeit Abfragen EDM-Designer EF Datenbank-Provider Leistungsoptimierung Code First

4 HttpContext.Current

5 Pro Form

6 Abfragen

7 IQueryable Verzögerte Ausführung DB

8 IEnumerable Ausführung im RAM

9

10

11 EDM Designer

12 Variante 1 Entity Developer (DevArt, edml)

13 Variante Huagati DBML/EDMX Tools

14 Variante ADO.NET Entity Data Model Designer Extension Starter Kit Download und Installation Projekt aus Vorlage erstellen Manifestdatei anpassen ModelGenerationExtension.cs mit Logik befüllen Installation VS Neustart

15 Projekt aus Vorlage erstellen

16 Manifestdatei anpassen

17 ModelGenerationExtension.cs mit Logik befüllen

18 Nach VS Neustart

19 Demo

20 Problem Spalte aus Tabelle nachladen Lösungsvorschlag Blob-Eigenschaft in eigene Entity auslagern 1 : 1 Beziehung modellieren

21

22

23 Variante mit View (J. Follas) Variante mit ViewVariante mit View (J. Lerman) Variante mit Trigger ohne View PostGIS and Entity Framework

24 Symbolvorlage erstellen Platzhalter $edmxInputFile$ Vstemplate mit Präfix ADONETArtifactGenerator_ ProjectItem OpenInEditor=false Zippen und ins ItemTemplate-Verzeichnis kopieren

25 Eigene Code- Generierungsvorlagen Demo

26 T4-Template erstellen In Ordner Laufwerk:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\DBGen kopieren Auswahl über Projekteigenschaften

27

28 Entity Designer Database Generation Power Pack installieren Datenbankprojekt hinzufügen (Name wie Edmx- Datei) Workflow Sync Database Project auswählen Assistent abschliessen

29 Entity Designer Database Generation Power Pack installieren

30 Datenbankprojekt hinzufügen (Name wie Edmx- Datei)

31

32 Workflow Sync Database Project auswählen

33 Assistent abschliessen

34 Projektmappe

35 Voraussetzungen Entity Designer Database Generation Power Pack installieren Datenbankprojekt anlegen (Name wie Edmx- Datei) Workflow Datenbankgenerierung auf Sync Database Project

36 Änderungen am Modell vornehmen

37 Workflow Sync Database Project ausführen

38 Daten/Neuer Schemavergleich

39 Schemavergleich

40 Änderung an Datenbank vornehmen

41 Modell aus der Datenbank aktualisieren

42 Neues Modell mit Projekt synchronisieren

43 Änderungen vornehmen

44 Model Comparer öffnen

45 Änderungen von CSDL auf SSDL übertragen

46 Änderungen von SSDL auf Datenbank übertragen

47 Change-Script

48 Änderungen von Datenbank übertragen

49 Model Comparer öffnen

50 Änderungen von Datenbank auf SSDL übertragen

51 Änderungen von SSDL auf CSDL übertragen

52 Modell

53 EDM-Elemente um eigene Eigenschaften erweitern Anpassen auf Prozesse In T4-Vorlagen verwenden Entity Data Model Designer Extension Starter Kit installieren Projekt erstellen und Manifestdatei anpassen Properties.cs und PropertiesFactory.cs mit Logik befüllen Installation T4-Vorlage erstellen und verwenden

54 Projekt erstellen und Manifestdatei anpassen

55 Properties.cs und PropertiesFactory.cs mit Logik befüllen

56 Nach der Installation

57 T4-Vorlage erstellen und verwenden

58 Demo

59 Am Beispiel MySQL EF Datenbank-Provider

60 MySQL Connector installieren (T4-Vorlage) DevArt dotConnect for MySQL Bessere Provider-Unterstützung (EdmFunctions) Modell anlegen Schema definieren DDL Generation Template SSDLToMySQL.tt (VS) Datenbank erstellen

61 Modell anlegen

62 DDL Generation Template SSDLToMySQL.tt (VS)

63 Datenbank erstellen

64 Modell anlegen Mapping erstellen Textdatei für SSDL anlegen Build Action Embedded Resource SSDL-Inhalt von Edmx-Datei kopieren und anpassen Kompilieren Connection String anpassen

65 Modell anlegen

66 Textdatei für SSDL anlegen

67 Build Action Embedded Resource

68 SSDL-Inhalt von Edmx-Datei kopieren und anpassen

69 Connection String anpassen

70 Datenbankabhängige Herausforderungen MySQL: Schema entspricht Datenbank Oracle: 30 Zeichen-Limit

71 Leistungsoptimierung

72 Unterstützung SQL Server Profiler EF Prof Hinweise zu Problemen wie SELECT N+1 Huagati Query Profiler EF Tracing Provider

73 Kaltstart vermeiden Variante 1: Mit EdmGen.exe erstellen Variante 2. T4 Vorlage Beispiel Modell mit 73 Entitäten

74 View Demo

75 Cachen von Linq to Entities - Abfragen

76 Wenn keine Änderungsverfolgung notwendig

77 Nicht die Stärke von ORM

78 Laden vieler verbundener Objekte Eager Loading Ressourcenintensiv Lazy Loading Zeitintensiv

79 Ein Schwachpunkt Demo

80 EfCachingProvider (2nd Level Cache) EFTracingProvider (Query-Rewrite simulieren) Paging mit Skip/Take Entity SQL auf Entity Client Datenbank Indizes setzen Query-Rewrite bei Join-Abfragen Datenbankoptimierungsratgeber verwenden Schrittweise denormalisieren

81 Code First

82

83 Aber: SqlQuery hat Mühe mit ComplexType

84

85

86

87

88

89 Huagati DBML/EDMX Tools ADO.NET Entity Data Model Designer Extension Starter Kit Entity Designer Database Generation Power Pack ADO.NET Team Blog Entity Framework Design Blog Meine Erfahrungen mit EF EF-FAQ

90 ISBN-13: ISBN-13:

91

92 © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Herunterladen ppt "René Leupold IS Developer Comgate Solutions AG Entity Framework Tipps und Tricks."

Ähnliche Präsentationen


Google-Anzeigen