MySQL Connector 6.8.2 RC, Entity Framework 6 und Code First

Ich habe kürzlich ein Upgrade auf Entity Framework 6 durchgeführt und den MySql 6.8.2 RC Connector installiert, da angegeben wurde, dass EF6 Code First jetzt unterstützt wird.

Beachten Sie, dass mein Projekt vor dem Upgrade in Connector 6.7.4 und EF 5 einwandfrei funktionierte.

Ich habe die folgenden Änderungen an meiner web.config vorgenommen

<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
<providers>
  <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.8.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>
  <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>

<connectionStrings>
<add providerName="MySql.Data.MySqlClient" name="dbcontext" connectionString="Server=localhost; Database=db; Uid=un; Pwd=pw;Convert Zero Datetime=True" />
</connectionStrings>

Ich habe auch die folgenden Referenzen hinzugefügt (.net 4.5 Versionen)

MySql.DataMySql.Data.Entity.EF6MySql.Web

Das Problem ist - in dem Moment, in dem der Code den DBContext aufruft, den ich erhalte:

Object reference not set to an instance of an object.

Nochmals - denken Sie daran, dass alles vor dem Upgrade funktioniert hat, damit ich weiß, dass es sich nicht um ein Codeproblem handelt. Vielleicht habe ich die web.config jedoch nicht richtig eingerichtet?

Sie können sich auch fragen, warum ein Upgrade durchgeführt wurde, wenn es vor dem Upgrade einwandfrei funktioniert hat? Nun, angeblich behebt EF6 und der neue MySql-Connector einige Fehler, auf die ich gestoßen bin - also hoffte ich, ihn jetzt zu implementieren, während er sich in der Entwicklung befindet und zu dem Zeitpunkt, zu dem er in Produktion geht (in Monaten), sollte ich ihn laden können die Serienversion des 6.8.x-Steckers.

Hier ist der Stack-Trace für den Fall, dass es hilft

[NullReferenceException: Object reference not set to an instance of an object.]
MySql.Data.MySqlClient.MySqlProviderServices.GetDbProviderManifestToken(DbConnection connection) +85
System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection) +332
System.Data.Entity.Utilities.DbProviderServicesExtensions.GetProviderManifestTokenChecked(DbProviderServices providerServices, DbConnection connection) +67
System.Data.Entity.Infrastructure.<>c__DisplayClass1.<ResolveManifestToken>b__0(Tuple`3 k) +63
System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory) +72
System.Data.Entity.Infrastructure.DefaultManifestTokenResolver.ResolveManifestToken(DbConnection connection) +260
System.Data.Entity.Utilities.DbConnectionExtensions.GetProviderInfo(DbConnection connection, DbProviderManifest& providerManifest) +89
System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection) +79
System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext) +143
System.Data.Entity.Internal.RetryLazy`2.GetValue(TInput input) +171
System.Data.Entity.Internal.LazyInternalContext.InitializeContext() +594
System.Data.Entity.Internal.InternalContext.Initialize() +31
System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) +39
System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() +138
System.Data.Entity.Internal.Linq.InternalSet`1.Include(String path) +41
System.Data.Entity.Infrastructure.DbQuery`1.Include(String path) +142
[edited].Global.Application_BeginRequest(Object sender, EventArgs e) in c:\edited\Global.asax.cs:47
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +136
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69

Antworten auf die Frage(2)

Ihre Antwort auf die Frage