Mam więc DB w SQL Server, z którym łączę się i używam Entity Framework 4.1 do generowania moich klas POCO, który działa ogólnie całkiem dobrze. Istnieją również procedury składowane, w których korzystam z funkcji "import funkcji" w celu utworzenia wynikowych wierszy danych z ich wywoływania. Zasadniczo proces używam jest:Odbicie zmian wprowadzonych w procedurze przechowywanej w Entity Framework-generated complex type
- kliknij prawym przyciskiem myszy na Model.edmx i wybierz „funkcja importowania ...”
- Odbiór procedury z listy rozwijanej
- Wprowadź mój żądanej funkcji importu Imię
- kliknij "Pobierz informacje o kolumnie"
- Kliknij przycisk "Utwórz nowy typ złożony"
- Kliknij przycisk "OK"
i że będzie utworzyć klasę POCO do definicji zbioru wynikowego i mogę zrobić coś takiego:
var query = context.GetMyStuff().AsQueryable();
do pobierania wyników. To wydaje się działać dobrze.
Teraz mam kłopot, gdy próbuję zmodyfikować procedurę przechowywaną, a następnie pobrać zmiany do propagacji do mojego kodu. Na przykład dodałem dodatkową kolumnę do tabeli, a następnie zaktualizowałem procedurę przechowywaną, aby zwrócić dane tej kolumny jako część wyników. Nie widzę sposobu, aby ta aktualizacja była propagowana do funkcji importowania funkcji, to znaczy, aby wygenerowany obiekt POCO miał nową właściwość dla dodanej kolumny.
Co to jest ćwiczenie, aby ta aktualizacja procedury odzwierciedlała się po stronie C#? Czy za każdym razem będę musiał stworzyć nową klasę? Nie było dla mnie oczywiste, jak to zrobić.
Informacje dodatkowe:
Kiedy próbowałem „update” typu złożonego, jak zaproponowano w odpowiedzi Ladislav do this question, pojawia się komunikat o błędzie „Sprawdź, czy nazwa jest unikalna FunctionImport . "
Jeśli spróbuję, co E.J. Brennan sugeruje poniżej, otrzymuję ten sam komunikat o błędzie.
Co najmniej działa, przynajmniej dla mnie, aby otworzyć plik Model.edmx w Notepad ++, znaleźć wiersz FunctionImport i usunąć go, a następnie go zregenerować. To nie jest idealne, ale zadziałało.
Nie jestem pewien, czy to jest to samo pytanie: http://stackoverflow.com/questions/6381423/function-import-when-sp-is-changed –
@Ladislav - widziałem to, ale kiedy próbuję zrób to, otrzymuję błąd. Będę edytować moje pytanie powyżej, aby to odzwierciedlić. – itsmatt