Softwaresponsoren Mediasponsoren
Vorstellung KnowledgeCenter Neue Sprachfeautres in VB 9.0 LINQ to SQL in der Praxis
Vorstellung Die Anwendung: KnowledgeBase Motivation, Architektur & Technologie Die neuen Sprachfeatures in VB 9.0 LINQ im Einsatz Tipp & Tricks zu Performance und Wartbarkeit
Vorhandene KnowledgeBase bereits seit 4 Jahren im Einsatz Keine Erweiterungsmöglichkeiten, da closed source Hersteller hat keine Updates mehr herausgebracht Uns fehlte eine.NET 3.5 Referenzanwendung ;-)
KnowledgeBase für Artikel und Fachbeiträge Live im Einsatz auf VB-Magazin.de Features: Artikel posten, bearbeiten Bewerten, kommentieren Windows Live Writer Anbindung RSS & XML für alle Bereiche WebService für externe Datenschnittstellen (Forum)
100 %.NET % Visual Basic! Entwickelt unter Visual Studio 2008 WebFrontend Windows Communication Foundation Schnittstelle für den Windows Live Writer Microsoft SQL Server 2005 (auch kompatibel zu 2008) LINQ to SQL für Verbindung zur Datenbank
Klassische 3-Schichten Architektur Bestehend aus: WebFrontend Business Logik DataAccess Modularer aufbau
Jan-Cornelius Molnar
Linq ist super Vielen Dank!!!
Query Execution DataContext Disconnected Data (N-Tier ?) Query Compilation
DataContext Steuert Datenbankzugriff Mappt Daten auf Objekte Speichert Änderungen From x In dbx.Articles Where x.IsPublished Take 5
Name Title Group
From x In dbx.Articles Where x.IsPublished Take 5 Compiler dbx.Articles.Where( Function(a As Article) a.IsPublished ).Take(5)
SelectSelect WhereWhere Linq QueryProvider dbx.Articles.Where( Function(a As Article) a.IsPublished ).Take(5) TakeTake ArticlesArticles TagsTags …… &
SELECT TOP (5) * FROM [dbo].[Articles] WHERE [IsPublished] = 1 SelectSelect WhereWhere TakeTake ArticlesArticles TagsTags …… & Expression Visitor
Dispose wann immer möglich Nötig für Ausführung von Queries Dispose Kein Change-Tracking
+ Transparent + Threadsicher -Nested Functions
+ Einfacher Zugriff + Nested Functions -Nicht transparent -Änderungen verwerfen? -Nicht threadsicher
+ Mehr Transparenz + Nested Functions + Threadsicher -Dispose? -Änderungen bei mehreren Operationen
+ Transparent + Threadsicher + Änderungen pro Instanz ? Nested Functions
ASP.NET, WCF, … DataContext = Connected Object Problem: Update mit alten Daten
dbx.Articles.Where( … ) … Expression Tree SqlSql
Spart bis zu 30% der Ausführungszeit Gewinnt immer
Gutes R.A.D. Tool Problemzonen DataContext LifeTime Disconnected Objects Query Compilation
Softwaresponsoren Mediasponsoren