2010-09-16 17 views
7

Pracuję z Entity Framework nad nowym projektem. Używam EF od roku. Dzisiaj próbowałem wygenerować model danych jednostki za pomocą Visual Studio (2008 SP1 i 2010) i generuje on właściwości kontekstu obiektu i zestawy jednostek, ale nie wygenerował metody SaveChanges. Próbowałem nawet z bazami danych, które wcześniej użyłem do generowania modeli danych encji. Nie wiem, co się dzieje. Użyłem mojego laptopa i mojego komputera stacjonarnego, ale nie działa na obu, nawet jeśli zrobiłem to wcześniej w obu.Brak EF ObjectContext.SaveChanges

My Enviroment jest:

Visual Studio 2008 SP1. SQL Server 2008 Express. Fabryka oprogramowania klienta sieci WWW luty 2008 r.

+1

'SaveChanges' jest * dziedziczone, * nie generowane. –

+0

Ok, ale intellisense go nie rozpoznaje. –

Odpowiedz

14

Prawdopodobnie spóźnienie, ale aby uzyskać tę metodę rozszerzenia, należy uwzględnić przestrzeń nazw System.Data.Entity.

+0

Miło, dzięki! Nigdy nie jest za późno. –

+0

Dużo to brzmi, ale nie byłem w stanie tego rozgryźć. – vzades

1

Przejmij context z DbContext jak public class MYContext: DbContext

1

Dla nowszych ludzi przychodzi tutaj na odpowiedź, może trzeba także Nuget Entity Framework 5.0 (lub nowszy) do projektu.
Kolega, z którym właśnie pomagałem, miał ten problem, w którym użył EF 5 w oddzielnym projekcie dla EDMX, ale w projekcie, w którym korzystał z tych podmiotów, nie skorzystał z ram EF 5. Nawet po dodaniu System.Entity.Framework i wszystkich innych zestawów LINQ, Entity i XML, które próbował dodać, nadal nie działało. Zasugerowałem, aby ponownie uruchomić VS2012, a następnie nagle pojawiły się kilka przydatnych błędów dotyczących EF 5 Framework.

+0

Upewnij się również, że masz "Korzystanie z System.Linq". Po prostu to mi się stało. Wszystko było na miejscu, ale nie otrzymałem metod rozszerzenia, takich jak Select and Where w IntelliSense, więc założyłem, że czegoś brakuje w referencjach. Jedyne, czego potrzebowałem, to Używanie, ale oczywiście nie otrzymałem żadnego błędu w tym kierunku, po prostu nie ma Intellisense, więc wydawało mi się, że to nie działa. –

+1

po dodaniu pakietu nuget "Entity Framework", przyszedł –