Jak: Definiowanie relacji danych
Można tworzyć, modyfikować i usuwać relacje między danymi za pomocą projektanta danych w LightSwitch.Relacje ułatwiają tworzenie ekranów, w których powiązane danych współpracują ze sobą, na przykład ekran pokazujący klientów i zamówienia.
Ten dokument zawiera następujące sekcje:
Dodawanie relacji między tabelami lub jednostkami z tego samego źródła danych
Dodawanie relacji między tabelami lub jednostkami z oddzielnego źródła danych
Modyfikowanie relacji
Ustawienia liczebności
Usuwanie ustawień zachowania
Aby wyświetlić pokrewne wideo demonstracyjne, zobacz Jak: Zdefiniować dane na ekranie w aplikacji LightSwitch?.
Dodawanie relacji między tabelami lub jednostkami z tego samego źródła danych
Można użyć projektanta danych LightSwitch, aby dodać relację między dwiema tabelami w wewnętrznej bazie danych LightSwitch.W niektórych przypadkach można również używać Projektanta danych, aby dodać relację między jednostkami z tego samego źródła danych zewnętrznych, z zastrzeżeniem niektórych ograniczeń.W przeciwnym razie, musisz zmienić te relacje na serwerze, a następnie odświeżyć połączenia danych w LightSwitch.Aby uzyskać więcej informacji na temat odświeżania połączenia ze źródłem danych, zobacz Jak: połączenia z danymi.
Aby dodać relację między tabelami w wewnętrznej bazie danych LightSwitch
W Eksploratorze rozwiązań kliknij dwukrotnie jedną z tabel, które mają być używane w relacji.
W Projektancie danych, na pasku poleceń kliknij Relacja.
W oknie dialogowym Dodaj nową relację w wierszu Nazwa, wybierz dwie tabele, do których chcesz zastosować relację, na przykład Klienci i Zamówienia.
W wierszu Liczebność określ sposób powiązania tych tabel.Aby uzyskać więcej informacji na temat liczebności i rodzajów relacji, zobacz Ustawienia liczebności.
W wierszu Zachowanie przy usuwaniu, określ, co chcesz aby aplikacja zrobiła, jeśli użytkownik próbuje usunąć rekord w jednej tabeli, ale dane nadal istnieją w powiązanych rekordach w drugiej tabeli, na przykład jeśli użytkownik próbuje usunąć klienta, ale nadal istnieją zamówienia złożone przez klienta.Aby uzyskać więcej informacji, zobacz Ustawienia zachowań usuwania.
W wierszu Właściwość nawigacji podaj nazwę dla każdej właściwości nawigacji.Właściwości nawigacji ułatwiają użytkownikom przechodzenie między obszarami ekranu, wyświetlającego pokrewne dane.Właściwości nawigacji są również wyświetlane jako obiekty w IntelliSense, i za pomocą tych obiektów można konstruować wyrażenia LINQ w kodzie.
Kliknij OK.
Aby dodać relację między tabelami w dołączonej bazie danych
W Eksploratorze rozwiązań kliknij dwukrotnie jedną z tabel, które mają być używane w relacji.
W Projektancie danych, na pasku poleceń kliknij Relacja.
Zostanie otwarte okno dialogowe Dodawanie nowej relacji.
W kolumnie do wiersza Nazwa wybierz tabelę, do której chcesz zastosować relację.
Tabela musi zawierać klucz podstawowy, który będzie używany po stronie podstawowej relacji.
W wierszu Liczebność określ sposób powiązania tych tabel.
Aby uzyskać więcej informacji, zobacz Ustawienia liczebności.
W wyświetlonym w dolnej części siatki danych oknie dialogowym Dodaj nową relację wybierz właściwości z obcej strony relacji.
Ta właściwość musi odpowiadać typowi danych z podstawowego właściwości klucza.
[!UWAGA]
Jeśli tabela zawiera złożony klucz podstawowy, muszą odpowiadać wszystkie typy danych klucza obcego.
[!UWAGA]
Zero lub relacja jeden do wielu obcych właściwości klucza nie może być wymaganym polem.W przypadku relacji jeden do wielu obcych właściwości klucza musi być polem wymaganym.Dla relacji zero lub jeden do jeden, wartości muszą być używane po obu stronach relacji klucza podstawowego.
Wybierz przycisk OK.
Dodawanie relacji między tabelami lub jednostkami z oddzielnego źródła danych
Można użyć projektanta danych LightSwitch, aby dodać relację między tabelami i jednostkami z różnych źródeł danych.Na przykład można dodać relację między tabelą z wewnętrznej bazy danych LightSwitch i jednostką z listy programu SharePoint.
Aby dodać relację między tabelami lub jednostkami z oddzielnego źródła danych
W Eksploratorze rozwiązań kliknij dwukrotnie jedną z tabel lub jednostek, które mają być używane w relacji.
W Projektancie danych, na pasku poleceń kliknij Relacja.
W oknie dialogowymDodaj nową relację w wierszu Nazwa, wybierz tabele lub jednostki, do których chcesz zastosować relację, na przykład Klienci i Zamówienia.
W wierszu Liczebność określ sposób powiązania tych tabel lub jednostek.Aby uzyskać więcej informacji na temat liczebności i rodzajów relacji, zobacz Ustawienia liczebności.
[!UWAGA]
Zauważ, że wiersz Zachowanie przy usunięciu nie jest aktywny dla tego rodzaju relacji.
W wierszu Właściwość nawigacji podaj nazwę dla każdej właściwości nawigacji.Właściwości nawigacji ułatwiają użytkownikom przechodzenie między obszarami ekranu, wyświetlającego pokrewne dane.Właściwości nawigacji są również wyświetlane jako obiekty w IntelliSense, i za pomocą tych obiektów można konstruować wyrażenia LINQ w kodzie.
W siatce danych, która pojawia się na dole okna dialogowego Dodaj nową relację, wybierz właściwość z jednej tabeli lub jednostkę i powiązaną właściwość w drugiej tabeli lub jednostce.Właściwości te są tam, gdzie tabele lub jednostki łączą się ze sobą.Na przykład, zaznacz właściwość Identyfikator jednostki Klient i właściwość IDKlienta jednostki zamówienia.
Kliknij OK.
Modyfikowanie relacji
Można użyć Projektanta danych LightSwitch w celu modyfikowania lub usuwania relacji.
Aby zmodyfikować istniejącą relację
W Eksploratorze rozwiązań kliknij dwukrotnie jedną z jednostek lub tabel, które są używane w relacji.
W Projektancie danych, wybierz właściwość nawigacji, która reprezentuje relację do innej jednostki lub tabeli.Na przykład jednostka Klient może mieć właściwość o nazwie Zamówienia, która jest używana jako właściwość nawigacji w relacji Zamówienia-Klient.
W oknie Właściwości kliknij Edytuj właściwości relacji.
Zostanie otwarte okno dialogowe Edytuj relację.
Aby zmodyfikować relację, zobacz odpowiednią sekcję w tym dokumencie:
Dodawanie relacji między jednostkami z tego samego źródła danych.
Dodawanie relacji między tabelami lub jednostkami z oddzielnego źródła danych.
Kliknij OK.
Aby usunąć relację
W Eksploratorze rozwiązań kliknij dwukrotnie jedną z jednostek lub tabel, które są używane w relacji.
W Projektancie danych, kliknij prawy przyciskiem właściwość nawigacji, która reprezentuje relację do innej jednostki lub tabeli, a następnie kliknij Usuń.
Ustawienia liczebności
W poniższej tabeli przedstawiono kombinacje ustawień liczebności, które są dostępne w LightSwitch.
Wartość Od |
Wartość Do |
Opis |
---|---|---|
Jeden |
Zero lub jeden |
Element "Od" może mieć jedną lub zero instancji "Do", ale "Do"musi mieć instancję "Z". |
Jeden |
Wiele |
Element "Od" może mieć wiele instancji "Do", ale "Do" musi mieć instancję "Z". |
Zero lub jeden |
Jeden |
Element "Od" musi mieć instancję "Do", ale "Do" może mieć jedną lub zero instancji "Z". |
Zero lub jeden |
Wiele |
Element "Od" może mieć wiele instancji "Do", a "Do" może mieć jedną lub zero instancji "Z". |
Wiele |
Jeden |
Element "Od" może mieć instancję "Do", ale "Do" może mieć wiele instancji "Z". |
Wiele |
Zero lub jeden |
Element "Od" może mieć jedną lub zero instancji "Do", a element "Do" może mieć wiele instancji "Do". |
[!UWAGA]
Nie można określić relacji jeden do jednego, zero lub jeden do zera lub jednego i wiele do wielu przy użyciu Projektanta danych LightSwitch.
Ustawienia zachowań usuwania
W poniższej tabeli opisano opcje, które można ustawić, aby określić, co się dzieje, gdy użytkownik próbuje usunąć rekord, który jest częścią relacji.Niektóre opcje mogą być niedostępne dla niektórych rodzajów relacji.
Wartość Zachowanie przy usuwaniu |
Opis |
---|---|
Usuwanie kaskadowe |
Po usunięciu elementu "Tabela1", usuń wszystkie powiązane instancje "Tabela2". |
Z ograniczeniami |
Elementu "Tabela1" nie można usunąć, jeśli istnieją powiązane instancje "Tabela2". Na przykład, zaznacz Z ograniczeniami w celu określenia, że klient nie może zostać usunięty, jeżeli istnieją powiązane zamówienia w bazie danych. |
Usuń skojarzenie |
Po usunięciu elementu "Tabela1", ustaw odwołanie do elementu "Tabela1" na pokrewnych wystąpieniach "Tabela2" na null. |