Podczas tworzenia nowego modelu danych encji z istniejącej bazy danych przy użyciu kodu najpierw z podejścia bazy danych można bezpośrednio określić, które tabele mają zostać uwzględnione w modelu. Podzbiór (lub wszystkie) tabele mogą być wybrane w kreatorze Visual Studio:Jak dodać dodatkowe tabele do istniejącego kodu najpierw z modelu EF bazy danych?
W tym przykładzie Category
i Product
klasy zostanie utworzony wraz z DbContext
pochodzącego klasy kontekstowego. Jeśli później chcę dodać dodatkowe tabele do tego samego modelu, czy istnieje prosty sposób dodawania ich, tj. Bez konieczności ręcznego tworzenia klas?
Np. Początkowo moja DbContext
klasa będzie zawierać:
public virtual DbSet<Category> Categories { get; set; }
public virtual DbSet<Product> Products { get; set; }
Załóżmy teraz, ja też chcę to Employee
stół tak, że klasa DbContext
zostanie zaktualizowana:
public virtual DbSet<Category> Categories { get; set; }
public virtual DbSet<Product> Products { get; set; }
public virtual DbSet<Employee> Employees { get; set; }
menu kontekstowe VS nie wydają się dostarczać ta opcja, ale może czegoś brakuje. Czy istnieje sposób na przywrócenie kreatora, aby móc wybrać dodatkowe tabele?
Jednym z rozwiązań jest posiadanie oddzielnego pustego projektu, w którym po prostu tworzysz nowy model, a następnie kopiujesz/wklejasz nowe klasy, ale jestem ciekawy, czy istnieje szybszy sposób.
Dziękuję. Czy wiesz, czy istnieje jakiś konkretny powód techniczny lub projektowy? Wydaje mi się, że wdrożenie czegoś takiego powinno być całkiem proste, więc jest trochę dziwne, że nie ma go w VS. – w128
Myślę, że zespół nigdy się do tego nie zbliżył. Na czym polega problem polegający na ponownym generowaniu plików? Nie widzę dużej różnicy w tym przepływie pracy i o co prosisz ... – ErikEJ
Problem (o którym początkowo nie wspomniałem) polega na tym, że zmieniam niektóre domyślne nazwy (np. Nazwa tabeli w moim konkretnym przypadku może być danymi klienta) gdy chcę, aby klasa nosiła nazwę CustomerData) i zapewniła atrybuty "Tabeli", tj. nieznacznie zmieniłem wygenerowany kod i odtworzenie całej rzeczy nadpisało to wszystko. – w128