3

Endlich bereitgestellt, um eine neue Site zu leben, die mit Entity Framework Code First und MySql erstellt wurde, ist ein Ärgernis die Pause, die häufig beim Zwischenspeichern von View-Metadaten auftritt. Dies scheint viel häufiger zu passieren, als der Anwendungspool wiederverwendet wird. (?)Ansichten für EF-Code zuerst generieren

Ich denke, dass für eine Website, die einen konstanten Datenverkehr hat, dies oft nicht bemerkt werden kann. Bei einer neuen Website mit seltenem Datenverkehr fühlt es sich an, als ob ich jedes Mal, wenn ich auf die Seite gehe, eine Verzögerung von 4-5 Sekunden beim Rendern der ersten Seite habe.

So verfolgen ich die folgenden Links unten:

http://msdn.microsoft.com/en-us/library/bb896240.aspx

http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d

Die EF Power Tools CTP1 sah vielversprechend aus, abgesehen davon, dass es für EF 4.3 und hasn gebrochen zu sein scheint‘ t wurde seit Monaten aktualisiert. Ich bin mir auch nicht sicher, wie dieses Tool in unseren automatisierten Build-Prozess passen würde.

Die OptimizeContext() oder WriteEdmx() ​​Methoden, die EF Power Tools diesem Fehler unter Verwendung werfen

System.Reflection.TargetInvocationException: 
Exception has been thrown by the target of an invocation. ---> System.Data.ProviderIncompatibleException: The provider did not return a ProviderManifestToken string. ---> System.Data.SqlClient.SqlException: 
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) 

ich zunächst angenommen, könnte dies MySql in Beziehung gesetzt werden, aber einige andere auf der EF Power Tools Q & Ein Abschnitt sind es melden.

Kurz gesagt, wie erzeuge ich zuerst Ansichten für den Code von EF 4.3, vorzugsweise auf eine Weise, die in einen automatisierten Build-Prozess eingefügt werden kann?

+2

Nach [diesem Artikel] (http://blogs.msdn.com/b/adonet/archive/2012/03/22/ef5-beta-2-available-on-nuget.aspx) Power Tools CTP 2 sollte bald verfügbar sein und ich denke, die neue Version wird EF 4.3 und EF 5 unterstützen. –

+0

Also nach ein paar weiteren Stunden Zeitverschwendung, scheint es, dass MySql Teil des Problems war und dieser Post das behoben. http://www.devart.com/blogs/dotconnect/index.php/using-entity-framework-power-tools-ctp1-mit-oracle-mysql-postgresql-and-sqlite.html Die verbleibende Sache, die ich herausfinden muss, ist, wie die Context.View.cs-Datei als Teil zu generieren unseres Build-Prozesses. Ich werde auf die EF Power Tools Q & A fragen und melden, falls es jemand anderen hilft. – NickH

+0

http://blogs.msdn.com/b/adonet/archive/2012/03/22/ef5-beta-2-available-on-nuget.aspx: "EF Power Tools Beta 2 kommt Entity Framework hat In den letzten 6 Monaten haben wir sehr viel Fortschritte gemacht und wir haben die Power Tools zurückfallen lassen. Wir arbeiten gerade an einer aktualisierten Version und wir wollen sie in den nächsten Wochen verfügbar machen. " – Pawel

Antwort

1

Pawel beantwortet meine weitere Frage:

Entity Framework initialization is SLOW -- what can I do to bootstrap it faster?

von T4-Vorlagen Aufbau:

http://blog.3d-logic.com/2012/05/28/entity-framework-code-first-and-pre-generated-views/

die auch nicht perfekt, aber besser nutzbar als alles andere, was ich habe gesehen.

Sie könnten dann so etwas wie:

http://www.platinumbay.com/blogs/dotneticated/archive/2009/08/28/running-t4-templates-with-msbuild.aspx

es zu dem Build-Prozess hinzuzufügen, aber es ist irgendwie langsam und so könnte man es einfach als ein (weiteren) manuellen Schritt verlassen will in Aktualisieren des EF-Modells.

Wirklich, sie brauchen eine Warnung, die besagt, verwenden Sie nicht EF mit> 500 Tabellen, wird es immer ärgerlicher zu bedienen.

0

Ich habe diesen gleichen Fehler, wenn ich VS2010, EF v4.3.1 und Entity Framework Power Tools Beta 2 ausgeführt habe. Die Lösung für mich war Visual Studio als Admin ausführen. (Klicken Sie mit der rechten Maustaste auf das Symbol und wählen Sie "Als Administrator ausführen" aus dem Kontextmenü.) Zu diesem Zeitpunkt konnte ich die Option "Ansichten generieren" in EFPT verwenden.