EntityFramework错误

时间:2014-10-16 01:29:48

标签: c# asp.net entity-framework entity-framework-5

  1. 新项目 - 班级图书馆

  2. Guget Packages - Install-Package EntityFramework,Install-Package MySql.Data,Install-Package MySql.Data.Entities,Install-Package MySql.Web

  3. <entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> <providers> <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" /> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> </providers> </entityFramework>

  4. 添加新项目 - ADO.NET实体数据模型

  5. 空EF设计师 - 完成

  6. 右键单击模型属性,然后右键单击DDL生成模板到SSDLToMySQL.tt

  7. 添加了示例实体

  8. 构建解决方案

  9. 右键单击 - 从模型生成数据库

  10. 选择数据连接,然后点击下一步。

  11. 然后窗户关闭,什么都没发生。

1 个答案:

答案 0 :(得分:2)

Adding References Using NuGet Versus an Extension SDK

安装EF6 NuGet软件包

您需要升级到新的Entity Framework 6运行时。

右键单击您的项目,然后选择Manage NuGet Packages ...

在“在线”选项卡下,选择“EntityFramework”,然后单击“安装”

注意:如果安装了以前版本的EntityFramework NuGet软件包,则会将其升级到EF6。

清单:

  1. EF5内置于.NET 4.5的核心,而EF6已经转移 out,并且是开源的。

    • 这意味着您必须将新的EF6程序集添加到解决方案中的所有相关项目中,尤其是项目项目。
    • 这意味着您必须从所有项目中删除程序集System.Entity,因为这是指EF5。
  2. EF5有一个.dll&#34; EntityFramework.dll&#34;,而EF6有两个 的.dll:

    • 的EntityFramework
    • EntityFramework.SqlServer
  3. EF6需要更改app.config。制作这些的最佳方法 更改是右键单击解决方案,选择&#34;管理NuGet 解决方案包#34;,搜索&#34; EntityFramework&#34;并安装 将实体框架的v6.1.0纳入所有相关项目中 特别是入门项目。确保卸载任何NuGet 所有项目的EF5 Framework包。这将 自动更新您的app.config文件,使其正确无误。
  4. 检查所有app.config文件以获取对EF5的引用,然后将其删除。
  5. 命名空间已更改:

    • 使用System.Data.EntityClient删除C#行&#34;&#34;,这是一个EF5参考。
    • 使用System.Data.Entity.Core.EntityClient添加C#行&#34;&#34;这对EF6来说是正确的。
  6. 此清单是社区Wiki,