Mam problemy z Visual Studio 2012, próbując dodać kontroler MVC4 z rusztowaniem. Idealnie chciałbym mieć model Entity Framework (edmx, itp.) Wygenerowany z bazy danych przy użyciu Add New Item - ADO.NET Entity Data Model (tj. Nie Code First) w osobnym zestawie z mojej aplikacji internetowej. Jednak po ustawieniu i użyciu Add Controller, określeniu "kontroler MVC z działaniami odczytu i zapisu i widoków, przy użyciu Entity Framework" i wybraniu klasy Model i klasy kontekstu danych z mojego zestawu DatabaseModel pojawia się następujący komunikat alertu.Rusztowanie MVC4 bazodanowego modelu Entity Framework w Visual Studio 2012
„Ifl.Payforit4.DatabaseModel.Mno” nie jest częścią określonego klasy „Ifl.Payforit4.DatabaseModel.Payforit4Entities” oraz klasie „Ifl.Payforit4.DatabaseModel.Payforit4Entities” nie może być zmodyfikowano, aby dodać właściwość "DbSet" do . (Na przykład, Class „Ifl.Payforit4.DatabaseModel.Payforit4Entities” może być skompilowany w zespole.)
Nie będąc w stanie zmodyfikować klasa ma sens, ponieważ jest w innym zespole, chociaż w tym samym rozwiązanie i automatycznie generowane przez T4, ale patrząc na automatycznie wygenerowany kod dla Payforit4Entities, właściwość "DbSet" jest już dość widoczna.
public DbSet<Mno> Mnoes { get; set; }
Próbowałem kilka innych rzeczy.
- wprowadzenie modelu danych bezpośrednio w aplikacji internetowej
- zmieniającym klasę modelu do wielu innych tabel w bazie danych, w przypadku wystąpienia problemu z klasą MNO
- redukującego modelu danych po prostu pojedynczą, prostą tabelę przy użyciu Entity Framework Power Tools Beta 2 w celu inżynierii wstecznej modelu Code First. Spowodowało to nowy zestaw błędów. Rozumiem, dlaczego jest to wersja beta.
- zmieniając ADO.NET Data Model Code Generation strategii z Żaden domyślne stworzenie modelu danych w oparciu o ObjectContext zamiast DbContext
- Wyłączanie pluralizacji więc nazwa nieruchomość jest MNO zamiast Mnoes
None z nich zadziałało. Jedyną rzeczą, która zadziałała, było ręczne napisanie klasy pochodnej Code First DbContext i POCO. Przypadkowo każdy znaleziony przykład demonstrujący rusztowanie MVC4 używa tego rodzaju modelu danych. Czy jest coś, co mówi, że Code First jest jedynym rodzajem modelu danych, który działa z rusztowaniem MVC4? Czy ktoś zdołał najpierw zbudować bazę danych modelu bazy danych (.edmx) w Visual Studio 2012? Baza danych jest na tyle złożona, że wolałabym trzymać się pierwszej strategii bazy danych.
Widzę, że musiałyby występować pewne różnice w rusztowaniach modeli Code First i Database First. Na przykład ta pierwsza ma właściwość POCO trzymającą klucz wskazany przez KeyAttribute, podczas gdy druga zawiera tę informację w plikach modelu edmx. Czy jest to uzasadnienie dla funkcji inżynierii odwrotnej w Entity Framework Power Tools? Czy odejdziemy od plików edmx do odwrotnych inżynierskich modeli Code First, aby użyć rusztowania MVC4? Jeśli tak, czy spodziewamy się, że będziemy używać projektów Dynamic Data, dopóki nie zostaną zakończone prace nad narzędziem Entity Framework Power Tools?
To działało świetnie i podpierało się do StackOverflow za podanie mi tego linku, kiedy wpisałem moje pytanie. –
To samo tutaj, nie mogę uwierzyć, jak opóźnione jest to lol. – Dave
Gdy próbuję tego, otrzymuję komunikat "Typ modelu jest nieprawidłowy. Wybierz element z listy." – JasonRed