Dieser Artikel wurde maschinell übersetzt.

Toolbox

Datenbank- und OR/M-Tools, Oren Eini und benutzerdefinierte Visual Studio-Registerkarten

Scott Mitchell

Verbessern die LINQ to SQL und ADO.NET Entity Framework-Designer

LINQ to SQL und ADO.NET Entity Framework sind zwei objektrelationalen Zuordnung (OR / M) Implementierungen von Microsoft. Diese or / Frau umfasst Erstellen einer hinzugefügt oder .edmx-Datei, die eine Zuordnung zwischen relationalen Modells und das Objektmodell enthält. Im Hintergrund über XML ist diese Zuordnung definiert, aber Visual Studio-Designer macht solche Zuordnungen genauso einfach wie Drag & drop zu erstellen.

Wenn Sie LINQ to SQL oder Entity Framework in Ihren Anwendungen verwenden, sind verantwortlich für das Verwalten der Zuordnungsdateien checken Sie aus Huagati DBML/EDMX Extras (Version 1.76), die die Visual Studio LINQ to SQL und Entity Framework-Designer eine Reihe von Features hinzufügt.

Beobachtung der empfohlenen Benennungskonventionen im Objektmodell ist eine häufige Herausforderung mit Drag & Drop oder / M Tools. Datenbank-Objektnamen häufig Präfixe wie “ Tabelle ” oder “ Usp_ ” enthalten möglicherweise vollständig großgeschrieben oder Kleinbuchstaben. Wenn Sie ein Datenbankobjekt zu Designer hinzufügen, erstellt Visual Studio die entsprechende Klasse verwenden die gleichen Präfixe und Groß-/Kleinschreibung, der Zähler für Ihr Team ausführen kann die Benennungskonventionen. Mit Tools für Huagati DBML/EDMX man nur wenigen Klicks von Umbenennen aller Klassen und Member im Objektmodell entfernt. Hinzufügen oder entfernen Sie Präfixe oder Suffixe, erzwingen die richtige Groß-/Kleinschreibung, Unterstriche und vieles mehr zu entfernen.

Von Visual Studio LINQ to SQL-Designer eine Schwierigkeit darin besteht, dass kein Mechanismus zur Aktualisierung des Objektmodells, um die neuesten Datenbankänderungen der wiederzugeben. Wenn Sie zuerst eine Datenbanktabelle auf den Designer ziehen, wird ein Objekt beispielsweise mit Eigenschaften erstellt, die Spalten der Tabelle entsprechen. Wenn drei neue Spalten derselben Tabelle einige Wochen später hinzugefügt werden, müssen Sie zurück zu der LINQ to SQL-Designer und entfernen und fügen Sie die Tabelle auf den Designer erneut hinzu oder manuell die entsprechende Klasse drei neue Eigenschaften hinzufügen. Diese Schwierigkeit ist ein nicht-Problem mit den Huagati DBML/EDMX-Tools, die automatische Synchronisierung mit relationalen Modells das Objektmodell und meldet die Unterschiede zwischen relationalen Modells und dem Objektmodell können. Die Huagati DBML/EDMX-Tools können auch das relationale Modell zu ändern, sodass es das Objektmodell spiegelt benötigten SQL-Anweisungen generieren.

Ein weiteres praktisches Feature ist die Dokumentation-Tool, das Ruft die Beschreibungen Tabellen- und Spaltennamen aus der Datenbank ab und fügt diese in der XML-Dokumentation des Objektmodells.

Die Huagati DBML/EDMX-Tools enthält eine kostenlose 45-Tage-Testversion, zusammen mit Standard und Professional-Versionen. Die Standardversion kostet $ 50 pro Benutzer-Lizenz und unterstützt bis zu 80 Tabellen pro Modell. Die Professional-Version kostet 120 € pro Benutzer-Lizenz und keine Beschränkungen auferlegt.

Preis: $ 50 bis € 120 pro Benutzer-Lizenz
huagati.com/dbmltools

Wichtige Blogs

Eines meiner bevorzugten .NET Blogger ist Oren Eini, ein fleißiger Blogger und anerkannten Softwareentwickler, die unter der Pseudonym Ayende Rahien bucht. Eini ist vielleicht bekannt für seine Beiträge zu .NET open Source-Projekten. Er ist ein Mitwirkender um NHibernate, einem beliebten OR / M Framework überprüft in der Ausgabe vom Oktober 2006 von MSDN Magazin ( msdn.microsoft.com/magazine/cc163540 ) und wird der Ersteller des Rhino Mocks, eine .NET Framework zu imitieren, die in der Ausgabe vom Januar 2008 ( msdn.microsoft.com/magazine/cc135981 ) behandelt.

Oren Eini’s blog

Oren Eini-blog

Eini des Blogbeiträgen erkunden ein Spektrum von Themen. Einige Einträge überprüfen, ein Feature oder ein Problem von einem bestimmten Framework, z. B. NHibernate oder Microsoft Entity Framework. Die meisten sind allgemeinere gehen Ratschläge von der Gräben bezüglich Datenbankentwurf, OR / M Verbrauch, Testen und Software-Architektur und Entwurf. Beiträge enthalten häufig Abbildungen, Diagrammen und Codeausschnitten.

Sie werden feststellen, z. B. eine Reihe von Beiträgen on OR / M Implementierung Herausforderungen z. B. für die Zuordnung zwischen den relationalen und Objektmodelle, hydrating Entitäten und so auf. Und stellen Sie sicher, dass Beheben von SELECT N + 1 Problem , zu lesen, die erläutert, wie über-und untergeordneten Daten durchlaufen unwissentlich zu schwerwiegenden Leistungsproblemen führen kann.

Blog des Eini enthält auch Typen von Beiträgen, die Sie in der Regel in Blogs Entwickler nicht finden. Es gibt beispielsweise eine Anzahl von Einträgen, die nur ein paar Sätze lange sind, noch um einen wichtigen Eindruck zu vermitteln und den Leser denken auch weiterhin verwalten. Andere Beiträge enthalten einen langen Codeausschnitt mit einer einzigen Anweisung wie, “ suchen den Fehler ein. ” Mit diesen Typen von Beiträgen, zusammen mit seinem beeindruckende Ausgabe ist es nicht unüblich, dass dort drei oder mehr Beiträge pro Tag sein.  Oren des Blog handelt es sich um eine Must-read für .NET Entwickler und Architekten.

ayende.com/Blog

Führen Sie gleichzeitige Abfragen mit mehreren Datenbanken

Im Laufe des meiner beruflichen Entwicklung habe ich geholfen, eine Reihe von multi-tenant Anwendungen erstellen – Anwendungen, die eine einzelne Instanz auf einem Webserver gehosteten aber von mehreren Organisationen verwendet werden. Eine multi-tenant-Anwendung muss sicherstellen, dass ein Benutzer anzeigen und Verwalten von nur die Daten, die Ihre Organisation angehört. Zu diesem Zweck Datenspeicher multi-tenant Anwendungen, die häufig vertrauliche Informationen des Unternehmens in einer separaten Datenbank, die Daten (neben anderen Gründen) vollständig zu isolieren.

Anzeigen von Daten zwischen mehreren Organisationen aggregiert kann eine echte Herausforderung sein, wenn jede Organisation Daten in einer separaten Datenbank gespeichert sind. Genommen Sie an, dass ein Entwickler einen Fehler findet, der Daten für eine bestimmte Organisation beschädigt hat. Um zu bestimmen, wenn für die anderen Debitoren ähnliche Beschädigung vorliegt, muss der Entwickler auf jeder einzelnen Datenbank eine Abfrage ausführen einem separaten Resultset für jede ausgeben. Wie Sie sich vorstellen können, ruft, mühsam. Im Idealfall würde die Ergebnisse aus jeder Datenbank in eine einzige, einheitliche-Ausgabe, die dann, kann und so weiter gefiltert sortiert werden aggregiert werden.

Im Laufe der Jahre habe ich mehrere Datenbanken mit einer Vielzahl von Techniken, abgefragt, einschließlich der nicht dokumentierte Sp_MsForEachDb gespeicherten Prozedur, Batchdateien schreiben und benutzerdefinierte Tools erstellen. Vor kurzem ein Kollegen mich Red Gate Software Multi SQL­Skript (Version 1.1) und zu ich noch nicht angesehen zurück. SQL-Multi-Skript funktioniert ähnlich wie erwartet – Geben Sie die SQL-Anweisungen auszuführen, und wählen Sie die Datenbanken gegen abgefragt. Multi-SQL­Skript dann ausgelöst wird, deaktiviert die SQL-Anweisungen, um die angegebenen Datenbanken und Aggregate und zeigt die Ergebnisse.

SQL Multi Script

SQL-Multi-Skript

Standardmäßig sendet SQL Multi-Skript die SQL-Anweisungen zu den Datenbanken parallel. Dies kann die Zeit deutlich reduzieren, die es, dauert um die Ergebnisse wieder zu erzielen, insbesondere dann, wenn die Datenbanken auf verschiedenen Servern befinden. Alternativ können Sie anweisen SQL Multi-Skript zum Ausführen die Anweisungen seriell, die ist nützlich, wenn Sie Ausführen des Skripts auf der Oberseite des Fehler beenden möchten.

Wenn Sie eine Fehlermeldung erhalten, bietet SQL Multi-Skript vier Fehlerbehandlung Optionen: Fortsetzen der Ausführung des Skripts (Standardverhalten); Ausführung der aktuellen Anweisung auf die Datenbank beendet jedoch weiterhin mit anderen SQL-Anweisungen; beenden Sie alle Anweisungen für diese Datenbank ausführen und fahren Sie mit der nächsten Datenbank in der Liste; oder Ausführung alle Anweisungen für alle Datenbanken beendet.

Ergebnisbereich SQL Multi Skript stellt eine zusammengesetzte Ansicht der Nachrichten und Daten, die von den Datenbanken zusammen mit den Verlauf der Skripts für die Datenbanken ausgeführt wird, während der aktuellen Sitzung zurückgegeben. Ist im Ergebnisbereich auch enthält eine Kontrollkästchen-Liste der Datenbanken, die abgefragt wurden; aktivieren oder deaktivieren Sie eine Datenbank zum Anzeigen oder entfernen Sie die Ergebnisse aus das Aggregat. Klicken Sie auf die Schaltfläche ' Speichern ', um die zusammengefassten Ergebnisse in eine CSV oder TXT-Datei zu speichern.

Preis: $195
Rot-gate.com

Verbessern Sie die Visual Studio-Registerkarten

Wenn Sie ein großes Projekt arbeiten, ist es nicht ungewöhnlich, dass Dutzende von Dateien in Visual Studio geöffnet haben. Leider lässt die Visual Studio-Benutzeroberfläche ein wenig zu wünschen übrig, wenn viele Dokumente geöffnet sind. Visual Studio verwendet standardmäßig eine SDI (Single Document Interface) mit einer Reihe von Registerkarten, die zeigen, welche Dokumente geöffnet sind. Allerdings diese Registerkarten werden angeordnet horizontal, die begrenzt, wie viele können auf dem Bildschirm angezeigt werden. Die Visual Studio Multi Document Interface (MDI) werden keine Registerkarten angezeigt, aber stattdessen muss der Benutzer eine Onlineverbindung herstellen, um Sie im Menü Fenster, um anzuzeigen, und wechseln zwischen geöffneten Dokumenten.

Registerkarten Studio (Version 1.6), indem Sergey Vlasov ist ein Add-in, das die integrierten Visual Studio-Registerkarten durch eine verbesserte und anpassbare Gruppe von Registerkarten ersetzt. Im Gegensatz zu Visual Studio zeigt Registerkarten Studio wird die Registerkarte für jedes geöffnete Dokument in den SDI und MDI-Konfigurationen. Wenn nicht genügend horizontalen Platz für jeden Tabstopp Anzeige vorhanden ist, Stapelt Registerkarten Studio diese vertikal.

Tabs Studio

Registerkarten Studio

Viele Arten von Komponenten, die in Visual Studio erstellt werden mithilfe von mehreren Dateien implementiert. Erstellen eine ASP.NET-Seite mit dem Namen Default.aspx erstellt z. B. tatsächlich zwei Dateien default.aspx und default.aspx.cs (oder "default.aspx.vb"). Registerkarten Studio fügt Features, die Ihnen die Arbeit mit solchen Dateien erleichtern.

Genommen Sie an, Sie arbeiten mit default.aspx und default.aspx.cs öffnen müssen. Klicken Sie mit der rechten Maustaste auf die Registerkarte default.aspx, und das Kontextmenü enthält eine Option öffnen default.aspx.cs. Was ’s mehr gruppiert Registerkarten Studio verwandte Dokumente in einer Registerkarte. Wenn sowohl die default.aspx default.aspx.cs geöffnet werden, anzeigen Registerkarten Studio eine einfache Registerkarte, die den Dateinamen ohne die Erweiterung (Standard) zusammen mit zwei Erweiterungen auflistet (ASPX- und. aspx.cs). Klicken Sie auf die Erweiterung ".aspx", zeigen Sie default.aspx, oder klicken Sie auf der Registerkarte. aspx.cs anzuzeigenden default.aspx.cs.

Registerkarten Studio verfügt außerdem über eine Vielzahl von Konfigurationsoptionen. Beispielsweise können Registerkarten Studio Registerkarten Formatvorlagen über XAML angepasst werden. Sie können der Registerkarten Schriftarten, Farben, Formen und vieles mehr konfigurieren. Und da die Einstellungen mithilfe von XAML definiert sind, können Sie bedingte Anweisungen einschließen und andere programmgesteuerte Logik, wodurch es möglich ist, führen Sie Aufgaben wie das Angeben der Verwendung von Stilen für die aktuell ausgewählte Registerkarte, oder stellen Sie der zuvor ausgewählten Registerkarte eine andere Farbe aus den anderen nicht ausgewählten Registerkarten. Mithilfe von add-ins kann weitere Registerkarten Studio angepasst werden. Sie können eigene schreiben oder keines der frei verfügbaren Add-Ins von der Registerkarten Studio-Website downloaden.

Registerkarten Studio ist für die nicht-Express-Editionen von Visual Studio 2005, 2008 und 2010 verfügbar.

Preis: $34
tabsstudio.com

Scott Mitchell,* Autor zahlreicher Bücher und Gründer von 4GuysFromRolla.com, arbeitet als MVP seit 1998 mit Microsoft-Webtechnologien gearbeitet hat. Mitchell ist unabhängiger Berater, Schulungsleiter und Autor. Erreichen Sie ihn unter Mitchell@4guysfromrolla.com oder über seinen Blog unter ScottOnWriting.NET .*

Alle Preise am bestätigt drücken Sie die Zeit und sind vorbehalten. In diesem Artikel ausgedrückten Meinungen sind ausschließlich die des Autors und spiegeln nicht zwangsläufig die Meinungen von Microsoft wider.

Senden Sie Fragen und Kommentare für Scott in toolsmm@microsoft.com .