1

好的,我用谷歌搜索过,我知道关于这个主题有很多问题,但我认为我做错了什么,因为我仍然收到这个错误。情况就是这样,我只是用 ASP .NET MVC 4 设置了 MySQL。一切正常,我也想为它设置 EF 5。说明将以下内容添加到配置中:

<configSections>
  <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>
<entityFramework>
  <contexts>
    <context type="Namespace.YourContextName, AssemblyName"><databaseInitializer type="Habanero.EntityFramework.MySql.DropCreateMySqlDatabaseIfModelChanges, AssemblyName"></databaseInitializer>
    </context>
  </contexts>
  <defaultConnectionFactory type="MySql.Data.MySqlClient.MySqlClientFactory,MySql.Data" />
</entityFramework>

我想不通的部分是 Namespace.YourContextName, AssemblyName

命名空间在我自己的项目和程序集中,所以我尝试了:MyAssemblyNameSpace.DatabaseContext, MyAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken= null

我仍然收到上述错误。让我说清楚,命名空间和数据库上下文都在配置所在的程序集中。

如果我没有指定程序集,它会给我以下错误:

无法从程序集“EntityFramework,Version=5.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”加载类型“MyAssemblyNameSpace.DatabaseContext”。

这是说明的链接: http ://www.nsilverbullet.net/2012/11/07/6-steps-to-get-entity-framework-5-working-with-mysql-5-5/

提前致谢

4

1 回答 1

0

Namespace.YourContextName, AssemblyName将是命名空间以及从 ObjectContext 或 DbContext 派生的 Context 的类名。

例子:CRMApplication.CRMContext,CRMApplication

请更新配置文件并在此处发布状态。

于 2013-05-08T07:52:23.450 回答