Udostępnij za pośrednictwem


Przypisz procedury przechowywane do aktualizacji, wstawiania i usuwania (O/R Designer)

Procedury składowane można dodać do projektanta O/R i wykonać je jako typowe DataContext metody. Można ich również użyć do zastąpienia domyślnego zachowania LINQ to SQL w czasie wykonania, które wykonuje operacje insertów, aktualizacji i usuwania, gdy zmiany są zapisywane z klas jednostek do bazy danych (na przykład podczas wywoływania metody SubmitChanges).

Uwaga / Notatka

Jeśli procedura składowana zwraca wartości, które należy odesłać do klienta (na przykład wartości obliczane w procedurze składowanej), utwórz parametry wyjściowe w procedurach składowanych. Jeśli nie możesz użyć parametrów wyjściowych, napisz implementację metody częściowej zamiast polegać na przesłonięciach generowanych przez projektanta O/R. Członkowie mapowani na wartości generowane przez bazę danych muszą być ustawieni na odpowiednie wartości po pomyślnym zakończeniu operacji INSERT lub UPDATE. Aby uzyskać więcej informacji, zobacz Obowiązki dewelopera w zastępowaniu domyślnego zachowania.

Uwaga / Notatka

LinQ to SQL obsługuje automatycznie wartości generowane przez bazę danych dla tożsamości (przyrost automatyczny), rowguidcol (wygenerowany globalnie unikatowy identyfikator (GUID) i kolumny sygnatury czasowej. Wartości wygenerowane przez bazę danych w innych typach kolumn będą nieoczekiwanie skutkować wartością null. Aby zwrócić wartości wygenerowane przez bazę danych, należy ręcznie ustawić wartość IsDbGeneratedtrue i AutoSync na jedną z następujących wartości: AutoSync.Always, AutoSync.OnInsert lub AutoSync.OnUpdate.

Konfigurowanie zachowania aktualizacji klasy jednostki

Domyślnie logika aktualizowania bazy danych (wstawiania, aktualizacji i usuwania) ze zmianami wprowadzonymi w danych w klasach jednostek LINQ to SQL jest dostarczana przez środowisko uruchomieniowe LINQ to SQL. Środowisko uruchomieniowe tworzy domyślne polecenia INSERT, UPDATE i DELETE, które są oparte na schemacie tabeli (informacje o kolumnie i kluczu podstawowym). Jeśli zachowanie domyślne nie jest pożądane, można skonfigurować zachowanie aktualizacji, przypisując określone procedury składowane do wykonywania niezbędnych wstawiania, aktualizacji i usuwania wymaganych do manipulowania danymi w tabeli. Można to również zrobić, gdy domyślne zachowanie nie jest generowane, na przykład gdy klasy jednostek są mapowane na widoki. Na koniec można zastąpić domyślne zachowanie aktualizacji, gdy baza danych wymaga dostępu do tabeli za pomocą procedur składowanych.

Uwaga / Notatka

Instrukcje przedstawione w tym artykule ilustrują najnowszą wersję interaktywnego środowiska projektowego (IDE) dostępnego w programie Visual Studio. Na komputerze mogą być wyświetlane różne nazwy lub lokalizacje niektórych elementów interfejsu użytkownika. Być może używasz innej wersji programu Visual Studio lub różnych ustawień środowiska. Aby uzyskać więcej informacji, zobacz Personalizowanie środowiska IDE.

Aby przypisać procedury składowane w celu zastąpienia domyślnego zachowania klasy jednostki

  1. Otwórz plik LINQ to SQL w projektancie. (Kliknij .dbml dwukrotnie plik w Eksploratorze rozwiązań).

  2. W Eksploratorze serwera lub Eksploratorze bazy danych rozwiń węzeł Procedury składowane i znajdź procedury składowane, których chcesz użyć dla poleceń Wstaw, Aktualizuj i/lub Usuń klasy jednostki.

  3. Przeciągnij procedurę składowaną do Projektanta O/R.

    Procedura składowana jest dodawana do okienka metod jako metoda DataContext. Aby uzyskać więcej informacji, zobacz DataContext Methods (O/R Designer).

  4. Wybierz klasę jednostki, dla której chcesz użyć procedury składowanej do przeprowadzania aktualizacji.

  5. W oknie Właściwości wybierz polecenie, aby zastąpić (Wstaw, Aktualizuj lub Usuń).

  6. Kliknij wielokropek (...) obok wyrazów Użyj środowiska uruchomieniowego , aby otworzyć okno dialogowe Konfigurowanie zachowania .

  7. Wybierz Dostosuj.

  8. Wybierz żądaną procedurę na liście Customize.

  9. Sprawdź listę argumentów metody i właściwości klasy , aby sprawdzić, czy argumenty metody są mapowania na odpowiednie właściwości klasy. Zamapuj oryginalne argumenty metody (Original_<ArgumentName>) do oryginalnych właściwości (<PropertyName> (Original)) dla poleceń Update i Delete.

    Uwaga / Notatka

    Domyślnie argumenty metody są mapowane na właściwości klasy, gdy nazwy są zgodne. Jeśli nazwy zmienionych właściwości nie są już zgodne między tabelą a klasą jednostki, może być konieczne wybranie równoważnej właściwości klasy do mapowania, jeśli projektant nie może określić poprawnego mapowania.

  10. Kliknij przycisk OK lub Zastosuj.

    Uwaga / Notatka

    Możesz nadal konfigurować zachowanie dla każdej klasy i kombinacji zachowania, o ile po wprowadzeniu każdej zmiany klikniesz przycisk Zastosuj . Jeśli zmienisz klasę lub zachowanie przed kliknięciem przycisku Zastosuj, zostanie wyświetlone okno dialogowe ostrzeżenia i umożliwi zastosowanie zmian.

Aby przywrócić domyślną logikę wykonywania dla aktualizacji, kliknij wielokropek obok polecenia Wstaw, Aktualizuj lub Usuń w oknie Właściwości, a następnie wybierz pozycję Użyj logiki uruchamiania w oknie dialogowym Konfigurowanie zachowania.