Entity Framework kann nicht update-Datenbank
Meine Anwendung stürzt mit folgender Fehlermeldung immer wenn ich speichern in der DB.
Nicht in der Lage zu finden, einen Einstiegspunkt namens 'SetClrFeatureSwitchMap" in DLL "SqlServerSpatial110.dll'.
Dieser Fehler begann gestern Nachmittag nach einem Windows Update und Neustart des PC. Die dll nicht als Verweis in das Projekt und ist nicht in den bin-Ordner.
Ich nutze EF5 und ich kann eine Verbindung zu den DB-und pull-Daten, aber wenn ich Anrufe ObjectContext.SaveChanges() tritt der Fehler auf.
Die Anwendung nicht verwenden geometrie, also ich habe keine Ahnung, wo das herkommt.
Bisher habe ich SP3 installiert für SQL 2008 R2 installiert SQL 2014, gelöscht irgendetwas in Bezug auf SqlServerSpatial110.dll. Getestet habe ich den code auf einem anderen PC und erlebte die gleichen Probleme.
InformationsquelleAutor Atron Seige | 2015-12-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte das gleiche Problem und es behoben durch hinzufügen der folgenden Zeilen in die web.config meiner Anwendung:
Diese Kräfte das EntityFramework zu verwenden, die version 10 des SqlServer.Types.dll,, die nicht über die Geometrie Typ anscheinend.
hat bei mir auch! Fantastische Antwort, ohne dass die deinstallation von SP3 für meine app mit einem älteren EF-version. danke!
Dies muss Hinzugefügt werden, in der die <configuration> - element, und es funktioniert perfekt.
es ist eine partielle Antwort --- was ist, wenn man die geometrie-Typ?
Wenn dies nicht funktioniert (was es leider nicht für mich), Sie könnten versuchen, zu ändern, um die version 12, also : ändern <bindingRedirect oldVersion="1.0.0.0-11.0.0.0" newVersion="10.0.0.0" /> <bindingRedirect oldVersion="1.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
InformationsquelleAutor KdBoer
So, Wenn ich fügen Sie die folgende Codezeile, die zum starten der Anwendung verwendet wird, verwenden Sie die SQL-2014-version von Microsoft.SqlServer.Arten der Montage, die nicht scheinen, um das problem oben angegeben.
Dies ist gut für Maschinen mit SQL-Server-2014-SDK installiert.
Habe ich auch eingereicht ein bug bei Microsoft hier:
https://connect.microsoft.com/SQLServer/Feedback/Details/2139143
InformationsquelleAutor jon antoine
Aus meiner Erfahrung mit diesem Fehler, das passiert nur mit Entity Framework 5-targeting .NET-4 (im Gegensatz zu .NET 4.5) bei Verwendung eines SQL Server mit SQL Server Service Pack 3. Mehr info auf mögliche Ursache hier. Lösungen, die für mich gearbeitet:
1) KdBoer beheben, oder
2) Aktualisieren Sie die Anwendung zu Entity Framework 6
Danke, veljkoz. Ich habe entfernt Vorschlag.
InformationsquelleAutor Sifford
Ich weiß, ich bin spät zur party, aber ich hatte das gleiche problem mit MSSQL 2012 und es war wirklich nervig. Ich war nicht in der Lage ist zum ausführen einer Abfrage in Tabellen mit Räumlichen Spalte(N). Es war ein bisschen schwierig. Ich fasse mein Ansatz, nur für den Fall für andere,
Der Grund ist, weil einige Inkonsistenz zwischen SP3 und CLR. Der beste Weg, ist die überprüfung
C:\Windows\assembly
und wenn Sie sehen, einigeMicrosoft.SqlServer.Types
hier müssen Sie entfernen und installieren Sie Sie erneut. Nun entfernen Sie ist ein bisschen tricky:Möglicherweise deinstallieren alle SQL server-updates von windows update, habe ich nur dieses für Service packs 1,2,3
Gehen Sie zu diesem Standort in der registery
HKLM\SOFTWARE\Classes\Installer\Assemblies\Global
hierLöschen Sie alle Schlüssel mit dem Namen
Microsoft.SqlServer.Types
, aber vorher nehmen Sie ein registry-backup vorsichtig Sein, nicht mess up die registry.Laufen
Developer Command Prompt
als Administrator und führen Sie diesen Befehlgacutil -i Microsoft.SqlServer.Types
Reparatur der ursprüngliche version von SQL server, die Sie bereits haben.
Schließlich war ich in der Lage zum ausführen einer Abfrage auf einer Tabelle auch mit der Geometrie (Geo -) Daten.
Hoffe, dies hilft einige Leute.
InformationsquelleAutor mohsen hs