Używam jednostek, C # i SQL Server do tworzenia aplikacji n-warstwowej. Tworzę kilka klas podstawowych wspólnych dla wszystkich moich składników DAL. W tej klasie bazowej chcę obsłużyć stan połączenia klasy bazowej ObjectContext dziedziczonej przez obiekt jednostki.
Kompilacja zgłasza następujący błąd:
Nazwa typu lub przestrzeni nazw „Obiekty” nie istnieje w przestrzeni nazw „System.Data” (czy brakuje odwołania do zestawu?)
Ponadto instrukcja using System.Data.Objects nie jest rozwiązywana z tego samego powodu.
Próbowałem dodać zestaw jako odniesienie, ale nie mogłem go znaleźć na karcie .NET odwołań do zestawów.
jakieś pomysły? Dzięki!
Jeśli używasz Entity Framework 6, przestrzeń nazw uległa zmianie. Chcesz użyć
źródło
Uaktualniono z EF5 do EF6 nuget jakiś czas temu i napotykano ten problem. Naprawiłbym to tymczasowo, aktualizując wygenerowany kod do odniesienia
System.Data.Entity.Core.Objects
, ale po wygenerowaniu zostałby ponownie zmieniony (zgodnie z oczekiwaniami od czasu jego wygenerowania).To rozwiązało problem na dobre:
http://msdn.microsoft.com/en-us/data/upgradeef6
źródło
Ten sam problem w VS 2013
Dodałem w Web.config:
Zadziałało jak urok.
Znalazłem to na stronie: http://www.programmer.bz/Home/tabid/115/asp_net_sql/281/The-type-or-namespace-name-Objects-does-not-exist-in-the-namespace- SystemData.aspx
źródło
jeśli chcesz użyć „System.Data.Objects.EntityFunctions”
użyj „System.Data.Entity.DbFunctions” w EF 6.1+
źródło
W moim przypadku dla EF 6+, używając tego:
W ramach tego polecenia:
Mam ten błąd:
Więc skończyło się na tym, że musiałem użyć tego:
Oczywiście Twój anonimowy podpis może być inny.
HTH.
źródło
Dodałem odniesienie do pliku .dll, dla System.Data.Linq powyższe nie było wystarczające. Pliki .dll można znaleźć w różnych katalogach dla następujących wersji.
System.Data.Linq C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ v3.5 \ System.Data.Linq.dll 3.5.0.0
System.Data.Linq C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ Profile \ Client \ System.Data.Linq.dll 4.0.0.0
źródło
Musisz dodać odwołanie do zestawu .NET System.Data.Linq
źródło