Hinzufügen neuer Datenquellen in ADO.NET-Anwendungen (.NET Framework)

Hinweis

Datasets und verwandte Klassen sind ältere .NET-Technologien aus den frühen 2000er Jahren, die es Anwendungen ermöglichen, mit Daten im Arbeitsspeicher zu arbeiten, während die Anwendungen von der Datenbank getrennt sind. Sie sind besonders nützlich für Anwendungen, die es Benutzern ermöglichen, Daten zu ändern und die Änderungen wieder in der Datenbank zu speichern. Obwohl sich Datasets als sehr erfolgreiche Technologie erwiesen haben, empfehlen wir, dass neue .NET-Anwendungen Entity Framework Core verwenden. Entity Framework bietet eine natürlichere Möglichkeit, mit tabellarischen Daten als Objektmodelle zu arbeiten, und verfügt über eine einfachere Programmierschnittstelle.

Hinweis

Die in diesem Artikel beschriebenen Features gelten für .NET Framework, Windows Forms- und WPF-Entwicklung. Die Features werden nicht bei der .NET Core-Entwicklung unterstützt – weder für WPF noch für Windows Forms.

Im Kontext von .NET-Datentools in Visual Studio bezieht sich der Begriff Datenquelle auf .NET-Objekte, die eine Verbindung mit einem Datenspeicher herstellen und die Daten für eine .NET-Anwendung verfügbar machen. Die Visual Studio-Designer können die Ausgabe der Datenquelle nutzen, um Codebausteine zu generieren, die Daten an Formulare binden, wenn Sie Datenbankobjekte aus dem Datenquellen-Fenster ziehen und ablegen. Diese Arten von Datenquelle gibt es:

  • Eine Klasse in einem Entity Framework-Modell, das einer Art von Datenbank zugeordnet ist.

  • Ein Dataset, das irgendeiner Art von Datenbank zugeordnet ist.

  • Eine Klasse, die einen Netzwerkdienst darstellt, z. B. einen Windows Communication Foundation(WCF)-Datendienst oder einen REST-Dienst.

  • Eine Klasse, die einen SharePoint-Dienst darstellt.

  • Eine Klasse oder Auflistung in Ihrer Projektmappe.

Hinweis

Wenn Sie keine Datenbindungsfeatures, Datasets, Entity Framework, LINQ to SQL, WCF oder SharePoint verwenden, ist das Konzept einer „Datenquelle“ nicht anwendbar. Stellen Sie einfach mithilfe der SQLCommand-Objekte eine direkte Verbindung mit der Datenbank her und kommunizieren Sie direkt mit ihr.

Sie erstellen und bearbeiten Datenquellen mithilfe des Datenquellen-Konfigurationsassistenten in einer Windows Forms- oder Windows Presentation Foundation-Anwendung. Für das Entity Framework erstellen Sie zunächst Ihre Entitätsklassen und starten Sie dann den Assistenten, indem Sie Projekt>Neue Datenquelle hinzufügen auswählen (weiter unten in diesem Artikel ausführlicher beschrieben).

Assistent zum Konfigurieren von Datenquellen

Datenquellenfenster

Nachdem Sie eine Datenquelle erstellt haben, wird sie im Toolfenster Datenquellen angezeigt.

Tipp

Um das Fenster Datenquellen zu öffnen, stellen Sie sicher, dass Ihr Projekt geöffnet ist und drücken Sie dann UMSCHALT+ALT+D, oder wählen Sie Ansicht>Andere Fenster>Datenquellen aus.

In einem Windows Forms-Projekt, das auf .NET Framework abzielt (nicht .NET Core oder .NET 5 oder höher), können Sie eine Datenquelle aus dem Fenster Datenquellen auf eine Formularentwurfsoberfläche oder ein Steuerelement ziehen. Wenn Sie eine Tabelle ziehen, erhalten Sie einen BindingNavigator und eine DataGridView für die Tabelle. Wenn Sie eine einzelne Spalte ziehen, erhalten Sie einen BindingNavigator, eine Bezeichnung und eine TextBox für diese Spalte. Ziehen Sie die Spalten, um ein vollständiges Datenanzeigeformular für eine Tabelle zu erhalten. Diese Aktionen führen dazu, dass ein Codebaustein generiert wird, der die Daten aus dem Datenspeicher anzeigt.

Die folgende Abbildung zeigt ein Dataset, das auf einem Windows-Formular abgelegt wurde. Wenn Sie in der Anwendung F5 auswählen, werden die Daten aus der zugrunde liegenden Datenbank in den Steuerelementen des Formulars angezeigt.

Screenshot: Ziehen einer Datenquelle

Screenshot: Ziehen einer Datenquelle

Datenquelle für eine Datenbank oder Datenbankdatei

Sie können ein Dataset oder ein Entity Framework-Modell erstellen, das als Datenquelle für eine Datenbank oder Datenbankdatei verwendet werden soll.

Dataset

Um ein Dataset als Datenquelle zu erstellen, führen Sie den Datenquellen-Konfigurationsassistenten aus, indem Sie Projekt>Neue Datenquelle hinzufügen auswählen. Wählen Sie den Datenquellentyp Datenbank aus und folgen Sie den Anweisungen, um entweder eine neue oder vorhandene Datenbankverbindung oder eine Datenbankdatei anzugeben.

Entitätsklassen

So erstellen Sie ein Entity Framework-Modell als Datenquelle:

  1. Führen Sie den Entity Data Model-Assistenten aus, um die Entitätsklassen zu erstellen. Wählen Sie Projekt>Neues Element hinzufügen>ADO.NET Entity Data Model aus.

    Neues Entity Framework-Modellprojektelement

  2. Wählen Sie die Methode aus, mit der Sie das Modell generieren möchten.

    Entity Data Model-Assistent

  3. Fügen Sie das Modell als Datenquelle hinzu. Die generierten Klassen werden im Datenquellen-Konfigurationsassistenten angezeigt, wenn Sie die Kategorie Objekte auswählen.

    Datenquellen-Konfigurationsassistent mit Entitätsklassen

Datenquelle für einen Dienst

Um eine Datenquelle aus einem Dienst zu erstellen, führen Sie den Datenquellen-Konfigurationsassistenten aus und wählen Sie den Datenquellentyp Dienst aus. Diese Aktion ist nur eine Verknüpfung zum Dialogfeld Dienstverweis hinzufügen, auf das Sie auch zugreifen können, indem Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt klicken und Dienstverweis hinzufügen auswählen.

Wenn Sie eine Datenquelle mit einem Dienst erstellen, fügt Visual Studio einen Dienstverweis auf das Projekt hinzu. Visual Studio erstellt auch Proxyobjekte, die den Objekten entsprechen, die der Dienst zurückgibt. Zum Beispiel wird ein Dienst, der ein Dataset zurückgibt, im Projekt als Dataset dargestellt. Ein Dienst, der einen bestimmten Typ zurückgibt, wird in dem Projekt als der zurückgegebene Typ dargestellt.

Sie können eine Datenquelle mit den folgenden Diensttypen erstellen:

  • WCF Data Services

  • WCF-Dienste

  • Webdienste

    Hinweis

    Die im Fenster Datenquellen angezeigten Elemente hängen von den vom Dienst zurückgegebenen Daten ab. Einige Dienste stellen möglicherweise nicht genügend Informationen bereit, damit der Assistent zum Konfigurieren von Datenquellen bindbare Objekte erstellen kann. Wenn der Dienst beispielsweise ein nicht typisiertes Dataset zurückgibt, werden beim Abschließen des Assistenten im Fenster Datenquellen keine Elemente angezeigt. Dies ist darauf zurückzuführen, dass nicht typisierte Datasets kein Schema bereitstellen und der Assistent daher nicht über genügend Informationen zum Erstellen der Datenquelle verfügt.

Datenquelle für ein Objekt

Sie können eine Datenquelle mit jedem Objekt erstellen, das mindestens eine öffentliche Eigenschaft durch Ausführen des Assistenten zum Konfigurieren von Datenquellen und anschließendes Auswählen des Datenquellentyps Objekt verfügbar macht. Alle öffentlichen Eigenschaften eines Objekts werden im Fenster Datenquellen angezeigt. Wenn Sie Entity Framework verwenden und ein Modell generiert haben, finden Sie hier die Entitätsklassen, die die Datenquellen für Ihre Anwendung sind.

Erweitern Sie auf der Seite Datenobjekte auswählen die Knoten in der Strukturansicht, um die Objekte zu suchen, an die Sie binden möchten. Die Strukturansicht enthält Knoten für Ihr Projekt und für Assemblys und andere Projekte, auf die ihr Projekt verweist.

Wenn Sie eine Bindung an ein Objekt in einer Assembly oder einem Projekt herstellen möchten, die/das in der Strukturansicht nicht angezeigt wird, klicken Sie auf Verweis hinzufügen, und verwenden Sie das Dialogfeld „Verweis hinzufügen“, um einen Verweis auf die Assembly oder das Projekt hinzuzufügen. Nachdem Sie den Verweis hinzugefügt haben, wird die Assembly oder das Projekt der Strukturansicht hinzugefügt.

Hinweis

Möglicherweise müssen Sie das Projekt erstellen, das Ihre Objekte enthält, bevor die Objekte in der Strukturansicht angezeigt werden.

Hinweis

Um Drag-and-drop-Datenbindung zu unterstützen, müssen Objekte, die die Schnittstelle ITypedList oder IListSource implementieren, über einen Standardkonstruktor verfügen. Andernfalls kann Visual Studio das Datenquellenobjekt nicht instanziieren und zeigt einen Fehler an, wenn Sie das Element auf die Entwurfsoberfläche ziehen.

Datenquelle für eine SharePoint-Liste

Sie können eine Datenquelle aus einer SharePoint-Liste erstellen, indem Sie den Assistenten zum Konfigurieren von Datenquellen ausführen und den Datenquellentyp SharePoint auswählen. SharePoint macht Daten über WCF Data Services verfügbar, sodass die Erstellung einer SharePoint-Datenquelle dem Erstellen einer Datenquelle mit einem Dienst entspricht. Durch Auswahl des SharePoint-Elements im Assistenten zum Konfigurieren von Datenquellen wird das Dialogfeld Dienstverweis hinzufügen geöffnet, in dem Sie durch Zeigen auf den SharePoint-Server eine Verbindung mit dem SharePoint-Datendienst herstellen. Für diese Aktion ist das SharePoint-SDK erforderlich.