LINQ to SQL tools in Visual Studio

LINQ to SQL była pierwszą technologią mapowania obiekt-relacyjnego wydaną przez firmę Microsoft. Działa dobrze w podstawowych scenariuszach i nadal jest obsługiwany w programie Visual Studio, ale nie jest już aktywnie opracowywany. Użyj linQ to SQL podczas obsługi starszej aplikacji, która jest już z niej używana, lub w prostych aplikacjach korzystających z programu SQL Server i nie wymagają mapowania wielu tabel. Ogólnie rzecz biorąc, nowe aplikacje powinny używać platformy Entity Framework, gdy wymagana jest warstwa mapowania relacyjnego obiektu.

Instalowanie narzędzi LINQ to SQL

W programie Visual Studio utworzysz klasy LINQ to SQL reprezentujące tabele SQL przy użyciu Projektant relacyjnych obiektów (Projektant O/R). Projektant O/R jest interfejsem użytkownika do edytowania plików dbml. Edytowanie plików dbml na powierzchni projektanta wymaga narzędzi LINQ to SQL, które nie są instalowane domyślnie w ramach żadnych obciążeń programu Visual Studio.

Aby zainstalować narzędzia LINQ to SQL, uruchom instalatora programu Visual Studio, wybierz pozycję Modyfikuj, a następnie wybierz kartę Poszczególne składniki , a następnie wybierz pozycję LINQ to SQL tools w kategorii Narzędzia kodu.

Co to jest Projektant O/R

Projektant O/R ma dwa odrębne obszary na powierzchni projektowej: okienko jednostek po lewej stronie i okienko metody po prawej stronie. Okienko jednostek jest główną powierzchnią projektową, która wyświetla klasy jednostek, skojarzenia i hierarchie dziedziczenia. Okienko metody to powierzchnia projektowa, która wyświetla DataContext metody mapowane na procedury składowane i funkcje.

Projektant O/R udostępnia wizualną powierzchnię projektową do tworzenia klas jednostek LINQ to SQL i skojarzeń (relacji), które są oparte na obiektach w bazie danych. Innymi słowy, Projektant O/R tworzy model obiektów w aplikacji mapowania na obiekty w bazie danych. Generuje również silnie typizowane DataContext dane, które wysyła i odbiera dane między klasami jednostek a bazą danych. Projektant O/R udostępnia również funkcje mapowania procedur składowanych i funkcji na DataContext metody zwracania danych i wypełniania klas jednostek. Na koniec Projektant O/R zapewnia możliwość projektowania relacji dziedziczenia między klasami jednostek.

Otwieranie projektanta O/R

Aby dodać model jednostki LINQ to SQL do projektu, wybierz pozycję Project Add New Item (Dodaj nowy element),>a następnie wybierz pozycję LINQ to SQL Classes (Klasy LINQ to SQL) z listy elementów projektu:

Klasy LINQ to SQL

Program Visual Studio tworzy .dbml plik i dodaje go do rozwiązania. Jest to plik mapowania XML i powiązane z nią pliki kodu.

Klasy LINQ to SQL w Eksplorator rozwiązań

Po wybraniu .dbml pliku program Visual Studio wyświetli powierzchnię Projektant O/R, która umożliwia wizualne tworzenie modelu. Poniższa ilustracja przedstawia projektanta po przeciągnięciu tabel Northwind CustomersOrders z Eksploratora serwera. Zwróć uwagę na relację między tabelami.

LINQ to SQL Projektant

Ważne

Projektant O/R jest prostym maperem relacyjnym obiektu, ponieważ obsługuje tylko relacje mapowania 1:1. Innymi słowy, klasa jednostki może mieć tylko relację mapowania 1:1 z tabelą bazy danych lub widokiem. Złożone mapowanie, takie jak mapowanie klasy jednostki na tabelę sprzężonej, nie jest obsługiwane; użyj platformy Entity Framework do tworzenia złożonych mapowań. Ponadto projektant jest jednokierunkowym generatorem kodu. Oznacza to, że w pliku kodu zostaną odzwierciedlone tylko zmiany wprowadzone na powierzchni projektanta. Zmiany ręczne w pliku kodu nie są odzwierciedlane w Projektant O/R. Wszelkie zmiany wprowadzone ręcznie w pliku kodu zostaną zastąpione podczas zapisywania projektanta i ponownego generowania kodu. Aby uzyskać informacje na temat dodawania kodu użytkownika i rozszerzania klas generowanych przez Projektant O/R, zobacz How to: Extend code generated by the O/R Projektant (Jak rozszerzyć kod generowany przez Projektant O/R).

Tworzenie i konfigurowanie obiektu DataContext

Po dodaniu elementu LINQ to SQL Classes do projektu i otwarciu Projektant O/R pusta powierzchnia projektowa reprezentuje pustą DataContext gotową do skonfigurowania. parametr DataContext jest skonfigurowany przy użyciu informacji o połączeniu dostarczonych przez pierwszy element, który jest przeciągany na powierzchnię projektową. W związku z tym parametr DataContext jest konfigurowany przy użyciu informacji o połączeniu z pierwszego elementu porzuconego na powierzchni projektowej. Aby uzyskać więcej informacji na temat DataContext klasy, zobacz Metody DataContext (O/R Projektant).

Tworzenie klas jednostek mapowanych na tabele i widoki bazy danych

Klasy jednostek można tworzyć zamapowane na tabele i widoki, przeciągając tabele bazy danych i widoki z Eksploratora serwera lub Eksploratora baz danych do Projektant O/R. Jak wskazano w poprzedniej sekcji, element DataContext jest skonfigurowany z informacjami o połączeniu dostarczonymi przez pierwszy element przeciągnięty na powierzchnię projektową. Jeśli kolejny element używający innego połączenia zostanie dodany do Projektant O/R, możesz zmienić połączenie dla elementu DataContext. Aby uzyskać więcej informacji, zobacz How to: Create LINQ to SQL classes ma mapowane na tabele i widoki (O/R Projektant).

Tworzenie metod DataContext wywołujących procedury składowane i funkcje

Metody wywołujące procedury składowane i funkcje (mapowane) można tworzyćDataContext, przeciągając je z Eksploratora serwera lub Eksploratora baz danych do Projektant O/R. Procedury składowane i funkcje są dodawane do Projektant O/R jako metody DataContext.

Uwaga

Przeciągając procedury składowane i funkcje z Eksploratora serwera lub Eksploratora baz danych do Projektant O/R, zwracany typ wygenerowanej DataContext metody różni się w zależności od miejsca upuszczania elementu. Aby uzyskać więcej informacji, zobacz Metody DataContext (O/R Projektant).

Konfigurowanie obiektu DataContext do używania procedur składowanych w celu zapisywania danych między klasami jednostek a bazą danych

Jak wspomniano wcześniej, można tworzyć DataContext metody wywołujące procedury składowane i funkcje. Ponadto można również przypisać procedury składowane, które są używane dla domyślnego zachowania LINQ to SQL w czasie wykonywania, który wykonuje operacje wstawiania, aktualizacji i usuwania. Aby uzyskać więcej informacji, zobacz How to: Assign stored procedures to perform updates, inserts, and deletes (O/R Projektant).

Dziedziczenie i projektant O/R

Podobnie jak inne obiekty, klasy LINQ to SQL mogą używać dziedziczenia i pochodzić z innych klas. W bazie danych relacje dziedziczenia są tworzone na kilka sposobów. Projektant O/R obsługuje koncepcję dziedziczenia pojedynczej tabeli, ponieważ jest często implementowana w systemach relacyjnych. Aby uzyskać więcej informacji, zobacz How to: Configure inheritance by using the O/R Projektant (Jak skonfigurować dziedziczenie przy użyciu Projektant O/R).

Zapytania LINQ to SQL

Klasy jednostek utworzone przez Projektant O/R są przeznaczone do użytku z zapytaniem zintegrowanym z językiem (LINQ). Aby uzyskać więcej informacji, zobacz How to: Query for information (Instrukcje: wykonywanie zapytań o informacje).

Rozdziel wygenerowany kod klasy DataContext i jednostki na różne przestrzenie nazw

Projektant O/R udostępnia właściwości przestrzeni nazw kontekstu i przestrzeni nazw jednostek w obiekcie DataContext. Te właściwości określają przestrzeń nazw, w DataContext której jest generowany kod klasy i jednostki. Domyślnie te właściwości są puste, a DataContext klasy jednostek i są generowane w przestrzeni nazw aplikacji. Aby wygenerować kod w przestrzeni nazw innej niż przestrzeń nazw aplikacji, wprowadź wartość we właściwościach Przestrzeni nazw kontekstu i/lub Przestrzeni nazw jednostek.

Zawartość referencyjna

Zobacz też