EF-6 System.Daten.Objekte.ObjectContext-Fehler
Ich vor kurzem aufgerüstet von Entitäten Rahmen 5 Personen Framework 6 Alpha-2-und ich erhalte die folgende Fehlermeldung:
Methode nicht gefunden: 'System.Daten.Objekte.ObjectContext
System.Daten.Entität.Infrastruktur.IObjectContextAdapter.get_ObjectContext()'.
Dies ist der erste Treffer, wenn ich rufe
if (Membership.ValidateUser(model.UserName, model.Password)) {}
Diese verwendet, um gut funktionieren, bevor Sie nicht sicher, warum es entspringt dieser Fehler. Irgendwelche Vorschläge?
InformationsquelleAutor der Frage Joe | 2012-12-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
EF 6 keine
System.Data.Objects.ObjectContext
. EF-6 wurde verschoben, einige Arten, einschließlichObjectContext
vonSystem.Data.Entity.dll
inEntityFramework.dll
und änderte Ihren namespaces. Die Tatsache, dass Sie diesen Fehler erhalten, schlägt vor, Sie habe nicht versucht zu kompilieren Ihrer Anwendung, Sie haben einfach ersetztEntityFramework.dll
und hofften das beste. Das wird nicht funktionieren. Sie müssen aktualisieren Sie Ihren code für die Arbeit mit EF 6: müssen Sie entfernen die Verweise aufSystem.Data.Entity.dll
und aktualisieren Sie den code, bezieht sich auf den neuen Typen.Es könnte möglich sein, dass der Verweis auf die
IObjectContextAdapter.ObjectContext
Eigenschaft, in irgendeiner Bibliothek, die Sie verwenden, aber die meisten wahrscheinlich, es wird in Ihrem eigenen code. Die Fehlermeldung (in dem Teil, den Sie nicht in deiner Frage) sollte Ihnen sagen, wo es herkommt.InformationsquelleAutor der Antwort hvd
Ist für mich die Aktualisierung dieser unten gearbeitet:
using System.Data.Objects; --> using System.Data.Entity.Core.Objects;
using System.Data.Objects.DataClasses; --> using System.Data.Entity.Core.Objects.DataClasses;
InformationsquelleAutor der Antwort piris
Ich bin auch mit
EF 6
.Habe ich es geschafft das problem zu lösen, deinstallieren Sie das Paket
Microsoft.AspNet.Die Anbieter.Core
v. 1.2. Ich bin mit der version 1.1 statt. Wenn Sie wie ich sind und ist mitLocaDb
haben, müssen Sie deinstallieren Sie dieLocaDb
Paket, da kommt es auf das Paket. Natürlich müssen Sie neu installieren LocaDb wieder...Können Sie greifen v. 1.1 mit der NuGet Package Manager Console in Visual Studio:
Gibt es einen Microsoft-Connect-bug gefüllt zu diesem Thema:
Microsoft.AspNet.Die Anbieter.Kern unvereinbar mit EF6
InformationsquelleAutor der Antwort Leniel Maccaferri
Die neue version 2.0 der Anbieter (http://www.nuget.org/packages/Microsoft.AspNet.Providers.Core/) EF6 kompatibel (Sie werden tatsächlich nur die Arbeit mit EF6).
InformationsquelleAutor der Antwort Fabian Nicollier
Konnte ich dies beheben, durch das entfernen des AspNet-Anbieter hatte ich installiert, über Nuget, wurde als veraltet markiert. Dadurch wird auch deinstalliert Entity Framework.
Daraufhin installierte ich das neue AspNet-Universal-Anbieter, gefolgt von Entity Framework 6, und alle meine Probleme waren behoben.
InformationsquelleAutor der Antwort Eraph
Überprüfen Sie Diesen Link
http://visualstudiomagazine.com/articles/2014/03/01/whats-new-in-entity-framework-6.aspx
Ich Aktualisiert die EF 6.2 und erhalten die gleichen Fehler und eine Lösung finden, wie fallows
Ändern Sie den namespace System.Daten.Entity System.Daten.Entität.Kern, einschließlich aller Verweise auf System.Daten.* Namensräumen (z.B. System.Daten.Objekte wird das System.Daten.Entität.Core.Objekte).
InformationsquelleAutor der Antwort TSN_Prasad
Passiert, wenn ein entity framework nicht finden kann, wird die Methode in der dotnet-framework-Bibliothek auf dem Computer installiert. So installieren dotnet framework 4.5.2 oder höher. Es wird das Problem zu beheben.
InformationsquelleAutor der Antwort swaraj
Was für mich gearbeitet war der folgende:
Installieren Sie die dll " von Microsoft.AspNet.DataSource' mit:
PM> Install-Package Microsoft.AspNet.EntityDataSource -
Referenz 'Microsoft.AspNet.DataSource.dll" in Ihrem Projekt.
Hinzugefügt die folgenden using-Deklarationen:
mit System.Daten.Entität.Core.Die Metadaten.Edm;
mit System.Daten.Entität.Core.Objekte;
mithilfe von Microsoft.AspNet.EntityDataSource;
Entfernt die folgenden using-Deklarationen:
mit System.Daten.Person;
mit System.Daten.Die Metadaten.Edm;
mit System.Daten.Objekte;
mit System.Web.UI.WebControls;
Voila, code zu kompilieren und zu arbeiten.
InformationsquelleAutor der Antwort Anytoe
Es wurde eine alte version im Zusammenhang mit edmx-Datei:
InformationsquelleAutor der Antwort Cesar Alvarado Diaz
Eine schnelle und einfache Lösung für mich war das entfernen der beanstandeten Baugruppen (veraltet) und fügte eine Referenz auf die neue Bibliothek. Der code wurde geändert im Rahmen.tt und sieht wie folgt aus:
Bevor änderungen hatte es erschienen:
InformationsquelleAutor der Antwort Anthony Mason