Mehrere Datenquellen in Light Switch ein- und verbinden, Behandlung von Daten-, Screenereignissen, Concurrency und Changesets

LightSwitch – Genauer hingeschaut Teil 2
Kommentare

Im ersten Teil der Serie haben Sie gelernt, wie man Abfragen mit den LightSwitch-Bordmitteln erstellt, aber auch per Code erweitert, komplexere Abfragen ausführt (die nur unter dem Einsatz der Assistenten nicht möglich wären) und wie man diese Abfragen per Code ausführen und konsumieren kann. Daneben haben Sie gesehen, wie Sie Entitäts-Eigenschaften mit benutzerdefinierter Validierung versehen. Nun geht es darum, verschiedene Datenquellen einzubinden und ihre LightSwitch-Anwendungen damit zu simplen Warehouses zu machen. Darüber hinaus geht es in diesem zweiten und letzten Teil der LightSwitch-Serie um Screen- und Datenereignisbehandlung sowie um die Behandlung von Concurrency.

Visual Studio LightSwitch präsentiert sich auch bei der Einbindung von Datenquellen gewohnt einfach, und die Einbindung einer Datenquelle erfordert kaum mehr als ein paar Mausklicks. Es gilt prinzipiell, dass mehrere Datenquellen unterschiedlichen Typs eingebunden werden können; aber damit noch nicht genug – man kann ohne Weiteres Beziehungen zwischen verschiedenen Datenquellen herstellen (auch hier wie gewohnt vom Entitäts-Designer unterstützt). Eine Datenquelle bleibt aber immer als primäre Datenquelle definiert, die auch für die verschiedenen Screens benutzt wird. Das wird vor allem dann relevant, wenn es darum geht, Daten zu modifizieren, zu ändern oder zu löschen und diese Änderungen anschließend persistent zu machen. Im weiteren Verlauf des Artikels werden wir noch sehen, wo und wann man entsprechend eingreifen muss, um die Datenpersistenz aller eingebundenen Datenquellen zu gewährleisten. Als Ausgangspunkt für die folgenden Beispiele nimmt man am besten das Grundgerüst, das bereits im ersten Teil der Artikelserie erstellt wurde. Dazu gehören die Klassen Person und Department (Abb. 1 und 2), die miteinander verbunden sind.

Abb. 1: Die Klasse Person
Abb. 1: Die Klasse Person
Abb. 2: Die Klasse Department
Abb. 2: Die Klasse Department

Diese beiden Klassen können auch für die folgenden Beispiele weiterverwendet werden. Das Projekt sollte zu diesem Zeitpunkt mit genau einer Datenquelle verbunden sein: Mit der Microsoft SQL-Datenbank, die im ersten Teil erstellt wurde. Sollten Sie sich für eine andere Variante entschieden haben, so stellt dies auch kein Problem dar; wie gesagt, LightSwitch ist relativ flexibel, was den Typ der Datenquelle anbelangt. Über den Solution Explorer können ohne Weiteres Datenquellen verschiedener Typen eingerichtet werden. Dafür reicht es, den entsprechenden Assistenten mit DATA SOURCES | ADD DATA SOURCE aufzurufen. Der sich daraufhin öffnende LightSwitch-Assistent bietet hierfür folgende Datenquellentypen an:

  • Datenbank
  • SharePoint
  • WCF RIA Service

Für das nun folgende Beispiel soll eine SharePoint-Liste als Datenquelle importiert werden. Dabei gilt es zu beachten (und darauf weist auch der Assistent hin), dass SharePoint 2010 benutzt werden sollte, und dass auch die WCF Data Services vorher serverseitig installiert sein sollten. Abbildung 3 zeigt eine benutzerdefinierte SharePoint-2010-Liste, die für das Beispiel benutzt wird. Für Demonstrationszwecke reichen zwei Spalten aus: GroupName und DepartmentId. Letztere Spalte soll bei der Herstellung einer Beziehung zwischen dieser Entität und der bereits bekannten Entität Department helfen. 

Abb. 3: Die SharePoint-Liste Workgroups
Abb. 3: Die SharePoint-Liste Workgroups
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -