Gewusst wie: Definieren von Datenbeziehungen
In LightSwitch können Sie Beziehungen zwischen Daten mit dem Daten-Designer erstellen, ändern oder löschen.Beziehungen helfen beim Erstellen von Bildschirmen, in denen verknüpfte Daten zusammen verwendet werden. Dies kann z. B. ein Bildschirm sein, in dem sowohl Kunden als auch ihre Bestellungen angezeigt werden.
Dieses Dokument enthält folgende Abschnitte:
Hinzufügen einer Beziehung zwischen Tabellen oder Entitäten aus der gleichen Datenquelle
Hinzufügen einer Beziehung zwischen Tabellen oder Entitäten aus unterschiedlichen Datenquellen
Ändern einer Beziehung
Multiplizitätseinstellungen
Einstellungen des Löschverhaltens
Ein entsprechendes Demovideo finden Sie unter Gewusst wie: Definition von Daten in einer LightSwitch-Anwendung.
Hinzufügen einer Beziehung zwischen Tabellen oder Entitäten aus der gleichen Datenquelle
Sie können den Daten-Designer von LightSwitch verwenden, um eine Beziehung zwischen zwei Tabellen in der internen Datenbank von LightSwitch hinzuzufügen.In einigen Fällen können Sie den Daten-Designer auch verwenden, um eine Beziehung zwischen Entitäten aus derselben externen Datenquelle hinzuzufügen. Dabei gelten bestimmte Einschränkungen.Andernfalls müssen Sie diese Beziehungen auf dem Server erstellen und dann die Datenverbindung in LightSwitch aktualisieren.Weitere Informationen zum Aktualisieren einer Verbindung mit einer Datenquelle finden Sie unter Gewusst wie: Herstellen der Verbindung mit Daten.
So fügen Sie in der internen LightSwitch-Datenbank eine Beziehung zwischen Tabellen hinzu
Doppelklicken Sie im Projektmappen-Explorer auf eine der Tabellen, die Sie in der Beziehung verwenden möchten.
Klicken Sie im Daten-Designer auf der Befehlsleiste auf Beziehung.
Wählen Sie im Dialogfeld Neue Beziehung hinzufügen in der Zeile Name die beiden Tabellen aus, auf die Sie Beziehung anwenden möchten, z. B. "Customers" und "Orders".
Geben Sie in der Zeile Multiplizität an, wie Sie diese Tabellen verknüpfen möchten.Weitere Informationen zur Multiplizität und den Arten von Beziehungen finden Sie unter Multiplicity Settings.
Geben Sie in der Zeile Verhalten bei Löschen an, was die Anwendung ausführen soll, wenn ein Benutzer versucht, einen Datensatz in einer Tabelle zu löschen, aber noch Daten im verknüpften Datensatz in der anderen Tabelle vorhanden sind. Beispiel: Ein Benutzer versucht, einen Kunden zu löschen, aber es sind noch vom Kunden aufgegebene Bestellungen vorhanden.Weitere Informationen finden Sie unter Delete Behavior Settings.
Geben Sie in der Zeile Navigationseigenschaft einen Namen für jede Navigationseigenschaft an.Mithilfe von Navigationseigenschaften können Benutzer zwischen Bereichen eines Bildschirms navigieren, in dem verknüpfte Daten angezeigt werden.Navigationseigenschaften werden auch in IntelliSense als Objekte angezeigt, und Sie können diese Objekte verwenden, um LINQ-Ausdrücke im Code zu erstellen.
Klicken Sie auf OK.
So fügen Sie eine Beziehung zwischen Tabellen in einer angefügten Datenbank hinzu
Doppelklicken Sie im Projektmappen-Explorer auf eine der Tabellen, die Sie in der Beziehung verwenden möchten.
Klicken Sie im Daten-Designer auf der Befehlsleiste auf Beziehung.
Das Dialogfeld Neue Beziehung hinzufügen wird angezeigt.
Wählen Sie in der Zeile Name der Spalte Zu die Tabelle aus, auf die Sie eine Beziehung anwenden möchten.
Die Tabelle muss einen Primärschlüssel enthalten, der auf der primären Seite der Beziehung verwendet wird.
Geben Sie in der Zeile Multiplizität an, wie Sie diese Tabellen verknüpfen möchten.
Weitere Informationen finden Sie unter Multiplicity Settings.
Wählen Sie im Datenraster, das unten im Dialogfeld Neue Beziehung hinzufügen angezeigt wird, eine Eigenschaft aus der Seite Fremd der Beziehung aus.
Diese Eigenschaft muss mit dem Datentyp der Schlüsseleigenschaft Primär übereinstimmen.
Hinweis Wenn die Tabelle einen zusammengesetzten Primärschlüssel enthält, müssen alle Fremdschlüsseldatentypen übereinstimmen.
Hinweis Für eine 0-oder-1:n-Beziehung kann die Schlüsseleigenschaft Fremd kein Pflichtfeld sein.Für eine 1:n-Beziehung muss die Schlüsseleigenschaft Fremd ein Pflichtfeld sein.Für 0-oder-1:1-Beziehung müssen die Primärschlüsselwerte auf beiden Seiten der Beziehung verwendet werden.
Klicken Sie auf die Schaltfläche OK.
Hinzufügen einer Beziehung zwischen Tabellen oder Entitäten aus unterschiedlichen Datenquellen
Sie können mit dem Daten-Designer von LightSwitch eine Beziehung zwischen Tabellen oder Entitäten aus separaten Datenquellen hinzufügen.Beispielsweise können Sie eine Beziehung zwischen einer Tabelle in der internen LightSwitch-Datenbank und einer Entität aus einer SharePoint-Liste hinzufügen.
So fügen Sie eine Beziehung zwischen Tabellen oder Entitäten aus unterschiedlichen Datenquellen hinzu
Doppelklicken Sie im Projektmappen-Explorer auf eine der Tabellen oder Entitäten, die Sie in der Beziehung verwenden möchten.
Klicken Sie im Daten-Designer auf der Befehlsleiste auf Beziehung.
Wählen Sie im Dialogfeld Neue Beziehung hinzufügen in der Zeile Name die Tabellen oder Entitäten aus, auf die Sie eine Beziehung anwenden möchten, z. B. "Customers" und "Orders".
Geben Sie in der Zeile Multiplizität an, wie Sie diese Tabelle oder Entitäten verknüpfen möchten.Weitere Informationen zur Multiplizität und den Arten von Beziehungen finden Sie unter Multiplicity Settings.
Hinweis Beachten Sie, dass die Zeile Verhalten bei Löschen für diese Art von Beziehung nicht aktiviert ist.
Geben Sie in der Zeile Navigationseigenschaft einen Namen für jede Navigationseigenschaft an.Mithilfe von Navigationseigenschaften können Benutzer zwischen Bereichen eines Bildschirms navigieren, in dem verknüpfte Daten angezeigt werden.Navigationseigenschaften werden auch in IntelliSense als Objekte angezeigt, und Sie können diese Objekte verwenden, um LINQ-Ausdrücke im Code zu erstellen.
Wählen Sie im Datenraster, das am unteren Rand des Dialogfelds Neue Beziehung hinzufügen angezeigt wird, eine Eigenschaft einer Tabelle oder Entität und eine zugehörige Eigenschaft in der anderen Tabelle oder Entität aus.Mithilfe dieser Eigenschaften werden Tabellen oder Entitäten verknüpft.Wählen Sie z. B. die Id-Eigenschaft einer Customer-Entität und die CustomerID-Eigenschaft einer Order-Entität aus.
Klicken Sie auf OK.
Ändern einer Beziehung
Sie können den Daten-Designer von LightSwitch verwenden, um eine Beziehung zu ändern oder zu löschen.
So ändern Sie eine vorhandene Beziehung
Doppelklicken Sie im Projektmappen-Explorer auf eine der Entitäten oder Tabellen, die Sie in der Beziehung verwenden.
Wählen Sie im Daten-Designer die Navigationseigenschaft aus, die die Beziehung zu einer anderen Entität oder Tabelle darstellt.Eine Customer-Entität kann z. B. über eine Eigenschaft mit dem Namen Orders verfügen, die in der Customer-Orders-Beziehung als Navigationseigenschaft verwendet wird.
Klicken Sie im Eigenschaftenfenster auf Beziehungseigenschaften bearbeiten.
Das Dialogfeld Beziehung bearbeiten wird angezeigt.
Informationen zum Ändern der Beziehung finden Sie im entsprechenden Abschnitt in diesem Dokument:
Hinzufügen einer Beziehung zwischen Entitäten aus der gleichen Datenquelle
Hinzufügen einer Beziehung zwischen Entitäten aus unterschiedlichen Datenquellen
Klicken Sie auf OK.
So löschen Sie eine Beziehung
Doppelklicken Sie im Projektmappen-Explorer auf eine der Entitäten oder Tabellen, die Sie in der Beziehung verwenden.
Klicken Sie im Daten-Designer mit der rechten Maustaste auf die Navigationseigenschaft, die die Beziehung zu einer anderen Entität oder Tabelle darstellt, und klicken Sie dann auf Löschen.
Multiplizitätseinstellungen
In der folgenden Tabelle sind die Kombinationen von Multiplizitätseinstellungen beschrieben, die in LightSwitch verfügbar sind.
Von-Wert |
Zu-Wert |
Beschreibung |
---|---|---|
Eins |
0 oder 1 |
Ein "Von" kann ein oder kein "Zu" haben, aber ein "Zu" muss ein "Von" aufweisen. |
Eins |
Viele |
Ein "Von" kann viele "Zu"-Instanzen haben, aber ein "Zu" muss ein "Von" aufweisen. |
0 oder 1 |
Eins |
Ein "Von" muss ein "Zu" haben, aber ein "Zu" kann ein oder kein "Von" aufweisen. |
0 oder 1 |
Viele |
Ein "Von" kann viele "Zu"-Instanzen haben, und ein "Zu" kann ein oder kein "Von" aufweisen. |
Viele |
Eins |
Ein "Von" muss ein "Zu" haben, aber ein "Zu" kann viele "Von"-Instanzen aufweisen. |
Viele |
0 oder 1 |
Ein "Von" kann ein oder kein "Zu" haben, und ein "Zu" kann viele "Von"-Instanzen aufweisen. |
Hinweis |
---|
Mit dem Daten-Designer von LightSwitch können Sie keine 1:1-, 0-oder-1:0-oder-1- und n:n-Beziehung angeben. |
Einstellungen des Löschverhaltens
In der folgenden Tabelle sind die Optionen beschrieben, mit denen Sie die gewünschte Vorgehensweise für den Fall festlegen können, dass ein Benutzer einen Datensatz löschen möchte, der Teil einer Beziehung ist.Einige Optionen sind möglicherweise für bestimmte Arten von Beziehungen nicht verfügbar.
Verhalten bei Löschen-Wert |
Beschreibung |
---|---|
Löschweitergabe |
Wenn eine "Table1" gelöscht wird, löschen Sie alle verwandten "Table2"-Instanzen. |
Eingeschränkter Zugriff |
"Table1" kann nicht gelöscht werden, wenn verknüpfte "Table2"-Instanzen vorhanden sind. Wählen Sie zum Beispiel Eingeschränkter Zugriff aus, um anzugeben, dass ein Kunde nicht gelöscht werden kann, wenn zugehörige Bestellungen in der Datenbank vorhanden sind. |
Zuordnung aufheben |
Wenn "Table1" gelöscht wird, legen Sie den Verweis auf "Table1" für verwandte "Table2"-Instanzen auf null fest. |