Klassen, Methoden und Co. per Code generieren

Im Beitrag “Visual Studio mit LINQPad: Project und ProjectItems” haben wir uns angesehen, wie Sie per Code auf Project-, Solution- und ProjectItem-Elemente zugreifen. Nun wollen wir uns den Umgang mit den ProjectItem-Objekten ansehen und herausfinden, wie wir beispielsweise den enthaltenen Code manipulieren können und Klassen, Prozeduren und Variablen anzulegen. Dazu benötigen wir einen Verweis auf das FileCodeModel-Objekt des jeweiligen ProjectItem-Elements. Wie wir das holen und was wir damit anstellen können, zeigt der vorliegende Artikel.

Weiterlesen

Von Access zum EDM per Kontextmenü

Nach den vorbereitenden Artikel zum Thema Erweitern von Visual Studio, Anlegen von Elementen im Projektmappen-Explorer und Hinzufügen von Elementen wie Klassen, Prozeduren et cetera per Code können wir uns an ein praktisches Beispiel begeben: Eine Anwendung, die Sie per Menüeintrag aus dem Kontextmenü eines Projekts aus aufrufen können und die nach der Auswahl der Access-Datenbank mit dem zu verwendenden Datenmodell ein Entity Data Model auf Basis dieser Datenbank erstellt. Damit können Sie dann mit wenigen Handgriffen auch direkt eine SQL Server-Datenbank generieren.

Weiterlesen

Visual Studio erweitern: VSIX-Projekt weitergeben

Wenn Sie eine Visual Studio-Erweiterung programmiert haben, möchten Sie diese in der Praxis einsetzen. Danach können Sie die Erweiterung nutzen, ohne diese beispielsweise wie beim Entwickeln erst zum Debuggen starten zu müssen. Sie können die Erweiterung dann also etwa über das dafür vorgesehene Kontextmenü oder die Tastenkombination aufrufen. Dazu sind nur noch wenige Schritte notwendig, die wir in diesem Artikel erläutern.

Weiterlesen

Bytes im Griff mit der Stream-Klasse: FileStream

Die Stream-Klasse ist die Basisklasse für verschiedene Stream-Klassen wie FileStream oder MemoryStream. Streams bieten die Möglichkeit, Byte-genau schreibend wie lesend auf Daten aus Dateien, dem Arbeitsspeicher oder dem Netzwerk zuzugreifen. Dieser Artikel zeigt, welche Stream-Klassen es gibt und geht genauer auf die FileStream-Klasse ein. Dabei zeigen wir, wie Sie mit dieser Klasse lesend und schreibend auf den Inhalt von Dateien zugreifen und den Inhalt mit Byte-Arrays austauschen.

Weiterlesen

EDM für bestehende Datenbank mit Code First

Wenn Sie ein Entity Data Model mit der Vorlage “Code First aus Datenbank” auf Basis einer bestehenden Datenbank erstellen, haben Sie vielleicht Pech und die Namen der Tabellen der Datenbank und der enthaltenen Felder lauten nicht so, wie Sie die Entitätsklassen, die DbSet-Elemente und die Eigenschaften der Klassen nennen möchten. Dann haben Sie verschiedene Möglichkeiten: Zum Beispiel können Sie die Bezeichnungen in der Datenbank anpassen. Das geht aber oft nicht, weil vielleicht noch andere Frontends auf die gleiche Datenbank zugreifen. Dann haben Sie noch die Möglichkeit, die Bezeichnungen von Datenbank und Entity Data Model so zu mappen, dass beide Seiten zufrieden sind. Wie letzteres gelingt, zeigen wir im vorliegenden Artikel am Beispiel der Südsturm-Datenbank.

Weiterlesen

WPF: DataTrigger und MultiDataTrigger

Um die Eigenschaftswerte von Steuerelementen abhängig von den Werten anderer Steuer-elemente oder auch von Eigenschaften einzustellen, verwenden Sie Data-Trigger oder MultiDataTrigger. Wir schauen uns in diesem Artikel die Grundlagen zu diesen Elementen an und zeigen anhand einiger Beispiele, was beim Praxis-ein-satz zu beachten ist. Dabei betrachten wir auch, wie Sie DataTrigger auf Basis von Eigenschaften im Code behind-Modul des WPF-Objekts verwenden können.

Weiterlesen

Mehrspaltige Kombinationsfelder

Manchmal möchte man mit einem Kombinationsfeld nicht nur den Wert eines Feldes anzeigen, sondern gleich mehrere. Unter Access war das zumindest für die Auswahlliste schnell erledigt – Sie brauchten einfach nur die Eigenschaften Spaltenanzahl und Spaltenbreiten anzupassen. Wenn der Inhalt des Kombinationsfeldes auch die Daten mehrerer Felder liefern sollte, mussten Sie diese per Zeichenkettenfunktion zusammenführen. Wie aber sieht das im WPF-Steuerelement “ComboBox” aus Dieser Artikel zeigt, welche Möglichkeiten dieses Steuer-element für mehrspaltige Einträge bietet.

Weiterlesen

Entity Framework: Bilder in WPF

Im Artikel “PowerApps: Bilder in Datenbank speichern” haben wir gezeigt, wie Sie mit einer PowerApp über ein Smartphone oder ein Tablet Bilder aufnehmen und diese dann in einer Datenbank speichern. Nun wollen wir uns ansehen, wie Sie diese Bilder aus der Datenbank in einer WPF-Anwendung anzeigen, die über das Entity Framework auf die Tabellen der Datenbank zugreift.

Weiterlesen

EDM: Blättern in Datensätzen

Wenn Sie und Ihre Kunden die Arbeit mit der Detailansicht von Access-Formularen gewohnt sind, möchten Sie vielleicht auch in einem WPF-Fenster mit der Detailansicht der Daten einer Klasse blättern können. Dieser Artikel zeigt, wie Sie einem Detailformular die Daten einer Tabelle über die entsprechende DbSet-Auflistung zuweisen und wie Sie mit entsprechenden Schaltflächen in den Datensätzen blättern können.

Weiterlesen

Validieren mit VB und EDM

Im Artikel EDM: Validieren von Entitäten mit IDataErrorInfo haben wir bereits erläutert, wie Sie einer auf dem Entity Framework basierenden Anwendung eine Validierung hinzufügen können. Im vorliegenden Artikel schauen wir uns an, wie Sie die Validierung nicht unter C#, sondern unter VB realisieren und welche Änderungen in den Methoden zum Migrieren einer Access-Anwendung nach WPF/EDM notwendig sind, um die Validierung vorzubereiten oder gegebenenfalls auch direkt umzusetzen.

Weiterlesen