Freigeben über


Richtlinien für ASP.NET Dynamic Data

Aktualisiert: November 2007

ASP.NET Dynamic Data ermöglicht Ihnen, den für Ihre Anforderungen geeigneten Anpassungsumfang auszuwählen. Dieser Abschnitt enthält Richtlinien und Empfehlungen, die Sie bei diesen Aufgaben unterstützen.

Mit Dynamic Data können Sie schnell eine vollständige Webanwendung mit umfassenden dynamischen Funktionen erstellen. Darüber hinaus vereinfacht Dynamic Data die Integration einer Datenbank in eine Website und die Auswahl der benötigten dynamischen Funktionen.

ASP.NET Dynamic Data bietet umfangreiche Anpassungsmöglichkeiten, sodass Sie eine Website auf Ihre Anforderungen abstimmen können, von der Darstellungsebene bis hin zur Datenebene.

Erstellen einer Website mit Gerüstbau

Wenn Sie schnell eine datengesteuerte Website erstellen müssen, können Sie mit ASP.NET Dynamic Data problemlos eine vollständige Webanwendung mit umfassenden dynamischen Funktionen erstellen. Dynamic Data unterstützt Webgerüste, sodass Sie die auf dem Datenmodell basierende Anwendung mit minimalem Code ausführen können, um die gewünschten Ziele zu erreichen. Für Webgerüste wird zwar eine standardmäßige Benutzeroberfläche verwendet, Sie können jedoch Erstellungs-, Lese-, Aktualisierungs- und Löschoperationen in den Tabellen ausführen. Weiterhin wird eine vollständige Unterstützung für Beziehungen bereitgestellt. Mithilfe des Gerüstbaus können Sie eine grundlegende Anwendung erstellen und später entsprechende Anpassungen vornehmen. Weitere Informationen hierzu finden Sie unter Exemplarische Vorgehensweise: Erstellen einer neuen Dynamic Data-Website mithilfe des Gerüstbaus.

Weitere Informationen hierzu finden Sie unter Übersicht über ASP.NET Dynamic Data.

Hinzufügen von Dynamic Data zu einer vorhandenen Website

ASP.NET Dynamic Data ermöglicht Ihnen, das Verhalten von Dynamic Data-Steuerelementen in eine vorhandene Website zu integrieren, indem Sie die benötigten dynamischen Funktionen auswählen. Hierzu müssen Sie die folgenden Schritte ausführen:

Weitere Informationen hierzu finden Sie unter Exemplarische Vorgehensweise: Hinzufügen von Dynamic Data zu einer vorhandenen Website.

Verwenden von Validierungsattributen

Sie können zusätzliche Informationen für Dynamic Data bereitstellen, indem Sie mithilfe der System.ComponentModel.DataAnnotations-Attribute Metadaten auf die Datenfelder im Datenmodell anwenden. Dynamic Data verwendet diese Informationen beispielsweise, um die Darstellung der Benutzeroberfläche für die Anzeige und Bearbeitung von Datenfeldern anzupassen.

Verwenden von Validierungsattributen

Beim Anwenden der Validierungsattribute müssen die folgenden Verwendungseinschränkungen eingehalten werden:

  • Das Attribut kann auf eine Eigenschaft oder ein Feld angewendet werden.

  • Das Attribut kann nur einmal angewendet werden.

Anwenden von Validierungsattributen

Führen Sie die folgenden Schritte aus, um ein beliebiges System.ComponentModel.DataAnnotations-Attribut auf ein Datenfeld anzuwenden.

  • Implementieren Sie im Ordner App_Code der Webanwendung eine Klassendatei, die eine partielle Klasse für den Datenkontext enthält. Diese Klasse stellt die Tabelle mit dem Datenfeld dar, auf das das Attribut angewendet werden soll.

  • Erstellen Sie eine weitere Klasse, die als zugeordnete Metadatenklasse fungiert. Sie können einen beliebigen Namen für die Klasse verwenden. Der Klassenname muss jedoch mit dem Namen übereinstimmen, auf den Sie im MetadataTypeAttribute-Attribut verweisen, das auf die partielle Klasse angewendet wird (siehe weiter unten). Fügen Sie diese Klasse in die gleiche Klassendatei wie die soeben erstellte Klasse ein.

  • Erstellen Sie in der zugeordneten Metadatenklasse eine öffentliche Eigenschaft oder ein Feld mit dem gleichen Namen wie das Datenfeld, auf das Sie das Validierungsattribut anwenden müssen.

  • Wenden Sie das MetadataTypeAttribute-Attribut auf die partielle Klassendefinition an. Der Parameter des Attributs ist der Name der zugeordneten Metadatenklasse.

Generieren von Validierungsfehlern

Die System.ComponentModel.DataAnnotations-Attribute ermöglichen Ihnen, benutzerdefinierte Fehler zu erstellen oder die integrierten Fehler zu verwenden, wenn die Validierung fehlschlägt. Die Validierungsattribute können hierzu einen der folgenden benannten Fehlerparameter annehmen:

  • ErrorMessage. Dieser Parameter gibt die Fehlermeldung an, die einem Validierungssteuerelement zugeordnet ist. Verwenden Sie diesen Parameter, um eine nicht lokalisierbare, benutzerdefinierte Fehlermeldung anzugeben und um ggf. die lokalisierbare Standardmeldung zu überschreiben.

  • ErrorMessageResourceName. Dieser Parameter gibt die Fehlermeldungsressource an, die einem Validierungssteuerelement zugeordnet ist. Verwenden Sie diesen Parameter, um eine Ressourcendatei mit lokalisierbaren Fehlermeldungen anzugeben.

  • ErrorMessageResourceType. Dieser Parameter gibt den Typ einer Fehlermeldung an, die einem Validierungssteuerelement zugeordnet ist. Verwenden Sie diesen Parameter, um die in der Ressourcendatei definierte Fehlermeldung zu identifizieren. Die Ressourcendatei wird mit dem vorherigen Parameter angegeben.

Bei Verwendung von Fehlermeldungen für Validierungsattribute stehen folgende Möglichkeiten zur Auswahl:

  • Sie können die Standardfehlermeldungen verwenden, die immer lokalisiert sind. In diesem Fall müssen Sie keinen der vorherigen Parameter angeben.

  • Sie können mit dem ErrorMessage-Parameter eine nicht lokalisierbare, benutzerdefinierte Fehlermeldung angeben, durch die die Standardmeldung überschrieben wird.

  • Mithilfe des ErrorMessageResourceName-Parameters können Sie eine lokalisierbare Ressourcenfehlermeldungsdatei bereitstellen. Anschließend geben Sie mit dem ErrorMessageResourceType-Parameter die in der Ressourcendatei enthaltene Fehlermeldung an.

Auswählen des Datenmodells

LINQ to SQL und Entity Framework haben zwar viele Gemeinsamkeiten, die jeweiligen Features sind jedoch für unterschiedliche Szenarios ausgelegt. LINQ to SQL wurde zur schnellen Entwicklung von Anwendungen für das vorhandene Microsoft SQL Server-Schema konzipiert. Entity Framework hingegen stellt durch eine lockere, flexible Zuordnung zum vorhandenen relationalen Schema Objekte und Speicherebenenzugriff für Microsoft SQL Server und Datenbanken anderer Anbieter bereit.

LINQ to SQL

LINQ to SQL bietet Features für die Microsoft SQL Server-Datenbank. Sie erhalten hierdurch eine stark typisierte Ansicht des vorhandenen Datenbankschemas.

LINQ to SQL unterstützt eine direkte Eins-zu-Eins-Zuordnung des vorhandenen Datenbankschemas zu .NET Framework-Klassen. Eine einzelne Tabelle kann einer einzelnen Klasse zugeordnet werden, und Fremdschlüssel können als stark typisierte Beziehungen verfügbar gemacht werden. 

Sie können LINQ-Abfragen für Tabellen, Ansichten und Tabellenwertfunktionen erstellen und die Ergebnisse als stark typisierte Objekte zurückgeben. Darüber hinaus können Sie gespeicherte Prozeduren aufrufen, die stark typisierte Ergebnisse mittels stark typisierter Methoden zurückgeben. Ein wichtiges Entwurfsprinzip von LINQ to SQL ist, dass es für die meisten allgemeinen Fälle anwendbar ist. Wenn Sie beispielsweise über die Orders-Eigenschaft eines Kunden auf eine Gruppe von Bestellungen zugreifen und die Bestellungen dieses Kunden zuvor noch nicht abgerufen wurden, werden diese von LINQ to SQL automatisch abgerufen.

ADO.NET Entity Framework

Die Features von ADO.NET Entity Framework wurden speziell für Unternehmensszenarios konzipiert. Die Datenbank wird in einem Unternehmen in der Regel von einem Datenbankadministrator verwaltet. Das Schema ist meist zugunsten von Speicherüberlegungen (Leistung, Konsistenz, Partitionierung) optimiert, anstatt ein fundiertes Anwendungsmodell bereitzustellen, und kann sich im Laufe der Zeit ändern, wenn sich die Verwendungsdaten und -muster weiterentwickeln.

Das Entity Framework basiert auf der Bereitstellung eines anwendungsorientierten Datenmodells, das locker verknüpft ist und maßgeblich von Ihrem vorhandenen Datenbankschema abweichen kann.

Sie können beispielsweise eine einzelne Klasse (oder Entität) mehreren Tabellen/Ansichten oder mehrere Klassen der gleichen Tabelle/Ansicht zuordnen. Sie können weiterhin eine Vererbungshierarchie einer einzelnen Tabelle/Ansicht (wie in LINQ to SQL) oder mehreren Tabellen/Ansichten zuordnen. Diese flexible Zuordnung wird deklarativ angegeben, um eine Entwicklung des Datenbankschemas im Laufe der Zeit zu ermöglichen, ohne dass die Anwendung neu kompiliert werden muss.

Das Entity Framework beinhaltet LINQ to Entities, wodurch zahlreiche der LINQ to SQL-Features für das konzeptionelle Anwendungsdatenmodell bereitgestellt werden.

Weitere Informationen hierzu finden Sie unter Introducing LINQ to Relational Data.

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Hinzufügen von Dynamic Data zu einer vorhandenen Website

Exemplarische Vorgehensweise: Hinzufügen von Dynamic Data zu einer vorhandenen Website

Konzepte

Übersicht über ASP.NET Dynamic Data-Feldvorlagen

Übersicht über den ASP.NET Dynamic Data-Gerüstbau und Seitenvorlagen

Übersicht über ASP.NET Dynamic Data

Referenz

Partielle Klassen und Methoden (C#-Programmierhandbuch)

Weitere Ressourcen

LINQ to SQL

ADO.NET Entity Framework