Windows Azure, Entity Framework. Schlüsselwort nicht unterstützt: 'Metadaten'.

7

Dies wurde ein paar Mal gefragt, aber ich konnte keinen der Vorschläge für mich arbeiten lassen.

Ich habe eine Website und eine SQL-Datenbank, die ich lokal erstellt und jetzt in Azure bereitgestellt habe. Die Datenbank ist eine verknüpfte Ressource für die Website. Ich bin in der Lage, die Website zu durchsuchen, und ich bin sogar in der Lage, eine Verbindung herzustellen und Abfragen für die Datenbank mit ADO.Net und einer Standardverbindungszeichenfolge auszuführen.

Das Problem ist, wenn ich versuche, eine Verbindung mit Entity Framework Ich bekomme immer Schlüsselwort nicht unterstützt: 'Metadaten'. Ich habe die mehreren aktiven Datensätze entfernt und versucht, "mit" zu ersetzen, aber es hasn Ich arbeite völlig ohne Ideen.

    
Jason Murray 17.12.2012, 04:40
quelle

2 Antworten

18

Hier ist meine Verbindungszeichenfolge im Azure-Portal für einen DatabaseFirst-Ansatz definiert:

%Vor%

Vergleichen Sie mit Ihrem und Beachten Sie, dass der Verbindungstyp im azurblauen Portal "benutzerdefiniert" ist .

    
JYL 17.12.2012, 15:05
quelle
2

Ich hatte das gleiche Problem wie das OP, aber seine Lösung hat nicht für mich funktioniert.

Es war ein Verbindungsstring-Problem, aber nicht mit den Anführungszeichen.

Da ich zwei Tage brauchte, um es zu lösen, hilft das vielleicht einem anderen:

Die Verbindungszeichenfolge, die für meine ASP.NET MVC 4.5 / Entity Framework 5.0-Anwendung funktioniert, wenn sie in Azure gehostet wird (Ich entwickle SQL Server 2012 lokal, migriere aber die Datenbank in die Azure SQL-Datenbank (unter Verwendung der SQL-Datenbankmigrations-Assistent )). Ich benutze zuerst Datenbank, um meine .edmx Datei zu erstellen (ich erzeuge das (Daten) Modell von der Datenbank)] ist:

%Vor%

Der Text in GROßBUCHSTABE ist meine Azure-Information. Natürlich müssen Sie stattdessen Ihre eigenen verwenden.

Dieser Teil der Verbindungszeichenfolge hat mir Alpträume beschert und könnte auch Ihr Problem verursachen:

%Vor%

Diese Referenzen müssen genau stimmen . Lassen Sie mich wiederholen: Diese Referenzen müssen genau stimmen !!

Nach dem Lesen von diesem Artikel von 2008 ("Fehlersuche bei Verbindungsstrings von Entity Framework"), Ich habe .NET Reflector verwendet, um in die MyProjectModel.dll (den Namen meiner .dll (wahrscheinlich anders in Ihrem Projekt) zu schauen, wie er es vorschlägt, und, natürlich, die Verbindungszeichenfolge (die für mich automatisch vom Entity Framework generiert wurde!) war falsch.Es enthielt kein Präfix.Sobald ich Models. Präfix hinzugefügt (so ist die .csdl / .msl / .ssdl innerhalb meiner .dll (wahrscheinlich anders in Alles funktioniert prima. Sehen Sie in Ihre .dll und sehen Sie, ob die Namen übereinstimmen. Wenn nicht, ändern Sie sie so, dass sie mit denen in der .dll übereinstimmen. (Lesen Sie den obigen Artikel, wenn das nicht stimmt klar genug.)

    
Thomas 29.12.2012 04:21
quelle