Freigeben über


Übersicht über das ASP.NET Dynamic Data-Modell

Aktualisiert: Juli 2008

Das Datenmodell stellt die Informationen in einer Datenbank und die Beziehungen zwischen den Elementen in der Datenbank dar. ASP.NET Dynamic Data verwendet Datenmodelle, die Daten als CLR-Typen darstellen. Es unterstützt LINQ to SQL und ADO.NET Entity Framework-Datenmodelle.

Mit dem Datenmodell können Sie die Darstellung und das Verhalten von Datenfeldern steuern und automatische Validierungen mit wenig oder keinem Code durchführen. Darüber hinaus können Sie das Datenmodell anpassen, um festzulegen, wie Datenfelder validiert werden und wie die Benutzeroberfläche zum Anzeigen und Bearbeiten von Datenfeldern gerendert wird.

Durch das Verständnis und die Arbeit mit dem Datenmodell können Sie Folgendes ausführen:

  • Machen Sie Ihren Code in höherem Maße wiederverwendbar, indem Sie datenbezogene Logik in der Datenschicht erstellen, anstatt sie in der Darstellungsschicht einzubetten.

  • Passen Sie die Datenfeldvalidierung in der Datenschicht an.

  • Passen Sie die Darstellung und das Verhalten von Datenfeldern an, indem Sie Metadaten auf sie anwenden.

Dieses Thema enthält folgende Abschnitte:

  • Background

  • Anzeigen und Ändern von Datenfeldern

  • Überprüfen von Datenfeldern

  • Weitere Informationen

Background

Dynamic Data unterstützt das LINQ to SQL-Datenmodell und das Entity Framework-Datenmodell. Beide Modelle sind im NET-Framework enthalten. Diese Modelle enthalten CLR-Typen, mit denen Dynamic Data die Datenbank abfragt und Create-, Read-, Update- und Delete-Vorgänge (CRUD) ausführt. Die Modelle bieten eine einfache Möglichkeit zum Integrieren von Datenvalidierungs- und Geschäftslogikregeln in das Datenmodell.

Wenn Sie ein neues Projekt in Visual Studio 2008 erstellen, können Sie die Vorlage LINQ to SQL-Klassen oder ADO.NET Entity Data Model auswählen. Diese Auswahl legt den vom Projekt verwendeten Modelltyp fest, d. h. ob ein LINQ to SQL- oder ein Entity Framework-Modell verwendet wird. Der Dynamic Data-Gerüstbau kann nur einen der Datenmodelltypen im gleichen Projekt unterstützen.

Zur Laufzeit extrahiert Dynamic Data automatisch Informationen über das Datenmodell, z. B. Datenfeldeigenschaften. Aus diesen Informationen leitet Dynamic Data ab, wie die Benutzeroberfläche zum Anzeigen und Bearbeiten von Daten erstellt werden soll. Zum Rendern der Benutzeroberfläche werden Feldvorlagen verwendet. Dynamic Data verwendet beispielsweise die folgenden Informationen zum Rendern der Benutzeroberfläche:

  • Informationen über Zuordnungen zwischen Tabellen, um Fremdschlüsselspalten anzuzeigen und zwischen Tabellen zu navigieren.

  • Datentypinformationen, um Validierung für ein Datenfeld hinzuzufügen. NULL-Spalteninformationen können beispielsweise verwendet werden, um zu ermitteln, ob ein Datenfeld erforderlich ist, und Längeninformationen können verwendet werden, um die maximale Länge der Texteingabe eines Benutzers zu beschränken.

Weitere Informationen hierzu finden Sie unter Gewusst wie: Anpassen der Darstellung und des Verhaltens von Datenfeldern im Datenmodell.

Anzeigen und Ändern von Datenfeldern

Dynamic Data ermittelt anhand der Datenmodellmetadaten automatisch, welche Feldvorlagen zum Rendern der Benutzeroberfläche zum Anzeigen und Ändern von Datenfeldern verwendet werden sollen. Feldvorlagen sind Benutzersteuerelemente, die Dynamic Data bereitstellt, um die Datenfelder anhand ihrer systeminternen Datentypen anzuzeigen und zu ändern. Um einen Datentyp zu rendern, durchsucht Dynamic Data das Datenmodell nach Klassen, auf die das UIHintAttribute-Attribut angewendet wurde.

Ist das Attribut vorhanden, gibt es an, welche Feldvorlage zum Anzeigen und Ändern eines bestimmten Datenfeldtyps verwendet werden soll. Ist kein Attribut vorhanden, sucht Dynamic Data nach einer Feldvorlage, deren Name mit dem Datenfeldtypen übereinstimmt. Um z. B. einen ganzzahligen Wert anzuzeigen, sucht Dynamic Data nach einer Feldvorlage mit dem Namen Integer.ascx. Weitere Informationen hierzu finden Sie unter Übersicht über ASP.NET Dynamic Data-Feldvorlagen.

Mit Dynamic Data können Sie die Benutzeroberfläche, die zum Anzeigen und Bearbeiten von Datenfeldern gerendert wird, anpassen und erweitern. Sie können folgende Anpassungen übernehmen:

Überprüfen von Datenfeldern

Dynamic Data unterstützt die Datenfeldüberprüfung anhand des Datenmodells, das folgende Überprüfungsarten umfasst:

  • Validierung auf Pflichtfelder. Wenn ein Datenfeld nicht null sein kann, erzwingt Dynamic Data die Bereitstellung eines Werts für das Feld.

  • Längenvalidierung. Wenn ein Datenbankfeld eine Zeichenfolge ist, erzwingt Dynamic Data die maximale Länge des Felds.

  • Typvalidierung. Dynamic Data erzwingt, dass der Eingabewert des Benutzers zum systeminternen Datentyp für ein Datenfeld passt.

Mit Dynamic Data können Sie die Datenfeldvalidierung wie folgt anpassen und erweitern:

  • Verwenden von Attributen. Verwenden Sie diese Vorgehensweise, wenn Sie die von Dynamic Data bereitgestellte Validierung erweitern möchten und die Standard-System.ComponentModel.DataAnnotations-Attribute Ihren Anforderungen genügen.

  • Verwenden von Methoden einer partiellen Klasse. Sie können die Validierung anpassen und Ihre eigene Geschäftslogik hinzufügen, indem Sie partielle Methoden überschreiben, die die an Datenfeldern vorgenommenen Änderungen verarbeiten. Sie sollten diese Vorgehensweise verwenden, wenn Sie Ihrem Datenmodell gemeinsame Geschäftslogik hinzufügen möchten, die von den Attributen nicht verarbeitet werden kann.

Weitere Informationen hierzu finden Sie unter Gewusst wie: Anpassen der Datenfeldvalidierung im Datenmodell.

Weitere Informationen

Weitere Informationen zu Dynamic Data finden Sie in den folgenden Themen:

Zurück nach oben

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

System.ComponentModel.DataAnnotations

Änderungsprotokoll

Date

Versionsgeschichte

Grund

Juli 2008

Thema hinzugefügt.

SP1-Featureänderung.