Przypisywanie procedur składowanych na potrzeby wykonywania aktualizacji, wstawiania i usuwania (Object Relational Designer)

Procedury składowane można dodawać do Projektant O/R i wykonywać jako typowe DataContext metody. Można ich również użyć do zastąpienia domyślnego zachowania LINQ to SQL w czasie wykonywania, który wykonuje operacje wstawiania, Aktualizacje i usuwania podczas zapisywania zmian z klas jednostek do bazy danych (na przykład podczas wywoływania SubmitChanges metody).

Uwaga

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 Projektant O/R. Elementy członkowskie mapowane na wartości generowane przez bazę danych muszą być ustawione na odpowiednie wartości po pomyślnym zakończeniu INSERT operacji lub UPDATE . Aby uzyskać więcej informacji, zobacz Obowiązki dewelopera w zastępowaniu domyślnego zachowania.

Uwaga

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ść IsDbGenerated true 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 INSERTpolecenia , UPDATEi DELETE 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

Na komputerze mogą być wyświetlane różne nazwy lub lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio w tym artykule. Być może używasz innej wersji programu Visual Studio lub innych 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 Eksplorator 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ą na Projektant O/R.

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

  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ę składowaną na liście Dostosowywanie .

  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>) na oryginalne właściwości (<PropertyName> (Original)) dla Update poleceń i Delete .

    Uwaga

    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 się.

    Uwaga

    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ę środowiska uruchomieniowego aktualizacji, kliknij wielokropek obok polecenia Wstaw, Aktualizuj lub Usuń w oknie Właściwości , a następnie wybierz pozycję Użyj środowiska uruchomieniowego w oknie dialogowym Konfigurowanie zachowania .