EDM mit vorhandener SQL Server-Datenbank

In einigen der vorherigen Ausgaben haben wir uns mit dem Erstellen eines Entity Data Models auf Basis auf Access-Datenbanken konzentriert. Dabei haben wir aus dem Datenmodell der Access-Datenbank ein Entity Data Model erstellt, mit dem dann die SQL Server-Datenbank angelegt werden konnte. Nun wollen wir den vermutlich nicht so seltenen Fall betrachten, dass bereits eine SQL Server-Datenbank existiert. Dabei zeigen wir, wir Sie das Entity Data Model erstellen und damit auf die in der SQL Server-Datenbank enthaltenen Daten zugreifen können – und wie Sie die Namen von Entitäten und Eigenschaften angleichen, wenn die in den Tabellen und Feldern verwendeten Namen nicht passen.

Weiterlesen

Reporting Services Datasets

Wenn Sie ein Reporting Services Projekt erstellt haben, benötigen Sie vor dem Anlegen von Berichten zwei Dinge: eine Datenquelle, auch Datasource genannt, und eine Art Abfrage, wie bei den Reporting Services Dataset genannt werden. Wie Sie Datenquellen auf verschiedene Arten erstellen, haben wir im Artikel “Reporting Services Datenquellen” erläutert. Im vorliegenden Artikel beschreiben wir, wie Sie mithilfe von Datasets die Daten für Ihren Bericht zusammenstellen und welche unterschiedlichen Möglichkeiten es dafür gibt. Dabei schauen wir uns wieder Visual Studio, den SQL Server Report Builder und das Web-Portal der Reporting Services an.

Weiterlesen

IsDefault: Standardschaltfläche festlegen

Unter WPF haben Sie verschiedene Möglichkeiten, eine Schaltfläche festzulegen, die beim Betätigen der Eingabetaste ausgelöst wird. Die einfachste ist die über das Attribut “IsDefault” einer Schaltfläche. Stellen Sie dieses auf den Wert “True” ein, wird die normalerweise durch Schaltfläche ausgelöste Ereignismethode auch beim Betätigen der Eingabetaste ausgelöst. Unter welchen Voraussetzungen das geschieht, zeigt dieser Artikel.

Weiterlesen

Reporting Services Datasets mit Parametern

Ein Dataset, das als Datenquelle eines Berichts der Reporting Services dient, ist selten statisch aufgebaut – also so, dass er immer alle Daten einer Tabelle oder Abfrage liefert oder einen bestimmten Teil. Stattdessen sollen Berichte oft Daten liefern, die sich auf einen bestimmten Zeitraum beziehen, auf einen bestimmten Kunden oder auch auf bestimmte Artikel oder Kategorien. In den bisherigen Artikeln haben wir erläutert, wie Sie Berichte auf Basis statischer Datenquellen erstellen. Der vorliegende Artikel fügt die Verwendung von Parametern mit hinzu, damit der Benutzer genau festlegen kann, welche Daten der von ihm gewählte Bericht liefern soll.

Weiterlesen

SQL Server: Fehler bei Entwurfsänderungen

In letzter Zeit habe ich gelegentlich Änderungen an den Tabellen verschiedener SQL Server-Datenbanken vorgenommen. Einige Änderungen dienten der Erweiterung um neue Felder, andere haben Primärschlüssel, Indizes, Beziehungen und andere Elemente angepasst. Die betroffenen Tabellen enthalten teilweise sehr viele Daten, sodass SQL Server recht viel Zeit beanspruchte, die Tabellen zu ändern. Teilweise gab es Fehler, weil Zeitlimits überschritten wurden. Teilweise konnten aber auch neue Beziehungen oder Indizes nicht angelegt werden, weil die Integrität der Daten nicht gegeben war. Dieser Artikel zeigt, welche Einstellungen Sie dann ändern können und welche Ursachen es gibt, wenn all dies nichts hilft.

Weiterlesen

Reporting Services: Tabellarische Berichte

Eine der einfachsten Arten, Daten in Berichten darzustellen, ist die tabellarische Darstellung. Die Reporting Services bieten beispielsweise gegenüber Microsoft Access eine erhebliche Vereinfachung: Sie können hier ein Steuerelement speziell zur Anzeige von Daten als Tabelle verwenden. Wie Sie dieses Steuerelement nutzen, und wie Sie auch mehrseitige Berichte mit allen notwendigen Informationen darstellen, zeigt der vorliegende Artikel.

Weiterlesen

Code First Mapping per Fluent API

Wenn Sie ein Code First-Entity Data Model entwerfen, gibt es bestimmte Konventionen, die standardmäßig greifen. So heißen Entitäten wie der Singular der zugrunde liegenden Tabellennamen oder der Primär- und Fremdschlüssel werden aus Feldern abgeleitet, welche die Zeichenkette ID enthalten – gegebenenfalls kombiniert mit dem Entitätsnamen. Wenn Sie mit einem Datenmodell daherkommen, dessen Tabellen das Präfix “tbl” mitbringen, wollen Sie dieses nicht in den Entitätsnamen wiederfinden und gegebenenfalls möchten (oder müssen) Sie auch noch Feldnamen ändern und diese anschließend mappen. Eine Möglichkeit dazu finden Sie in den Methoden der Fluent Api, die wir in diesem Artikel beschreiben.

Weiterlesen

Reporting Services: Gruppen und Summen

Im Artikel “Reporting Services: Tabellarische Beriche” haben wir uns am Beispiel einer Kundenliste bereits angesehen, wie Sie einfache Tabellen erstellen und einfache Features wie sich wiederholende Spaltenüberschriften nutzen. In diesem Artikel wollen wir Kunden, Bestellungen und Bestellpositionen zum Thema machen und dazu wiederum eine Tabelle verwenden. Wegen der verschiedenen Ebenen soll diese allerdings Gruppierungen enthalten, die uns unter anderem Informationen über die Umsätze je Position, Bestellung und Kunde liefern.

Weiterlesen

Code First Mapping per DataAnnotation

Wenn Sie ein Code First-Entity Data Model entwerfen, gibt es bestimmte Konventionen, die standardmäßig greifen. So heißen Entitäten wie der Singular der zugrunde liegenden Tabellennamen oder der Primär- und Fremdschlüssel werden aus Feldern abgeleitet, welche die Zeichenkette ID enthalten – gegebenenfalls kombiniert mit dem Entitätsnamen. Wenn Sie mit einem Datenmodell daherkommen, dessen Tabellen das Präfix “tbl” mitbringen, wollen Sie dieses nicht in den Entitätsnamen wiederfinden und gegebenenfalls möchten (oder müssen) Sie auch noch Feldnamen ändern und diese anschließend mappen. Eine Möglichkeit dazu bieten die DataAnnotations, die wir in diesem Artikel beschreiben.

Weiterlesen