【问题标题】:Entity Framework 6 Unable to retrive metadata实体框架 6 无法检索元数据
【发布时间】:2013-04-16 16:07:51
【问题描述】:

我正在使用 EF 6 pre-3。

产品型号:

namespace ProductStore.Models
{
    public class Product
    {
        [ScaffoldColumn(false)]
        public int Id { get; set; }
        [Required]
        public string Name { get; set; }
        public decimal Price { get; set; }
        public decimal ActualCost { get; set; }
    }

}

创建控制器时,出现以下错误:

Unable to retrieve metadata for 'ProductStore.Models.Project'. Unable to cast object of type 'System.Data.Entity.Core.Objects.ObjectContext' to type 'System.Data.Objects.ObjectContext'.

上下文是:

namespace ProductStore.Models
{
    public class OrdersContext : DbContext
    {
        public OrdersContext()
            : base("name=OrdersContext")
        {
        }

        public DbSet<Product> Products { get; set; }
        public DbSet<Order> Orders { get; set; }
        public DbSet<OrderDetail> OrderDetails { get; set; }
    }
}

我的连接字符串是:

<add name="OrdersContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Orders.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />

【问题讨论】:

  • 你也有参考System.Data.Entity吗?是新项目还是您使用现有项目升级到 EF6?
  • 是的,我有。这是一个新项目。
  • 首先删除对旧 System.Data.Entity.dll 的所有引用。 EF6 是带外版本,它包含 System.Data.Entity 中的所有内容。
  • 我从引用中删除了 System.Data.Entity,它仍然无法生成控制器。
  • @Alvin 您可以批准一个答案,以便其他人喜欢它

标签: c# entity-framework entity-framework-6


【解决方案1】:

Entity Framework 6 不支持脚手架。使用 NuGet 包管理器控制台获取 Entity Framework 5 将解决此问题。然后,您将能够使用 CRUD 操作创建控制器。 Here 是 NuGet EF5 的链接。

【讨论】:

    【解决方案2】:

    我已经测试过了,Entity Framework 6 还不能做脚手架。

    【讨论】:

    【解决方案3】:

    我也测试过,我觉得Entity FrameWork 6不稳定 .你可以重建项目,使用Nuget安装Entity FrameWork 5。

    【讨论】:

      【解决方案4】:

      将 EF 更新到 6.0.1 版,然后重新构建您的解决方案。之后应该可以工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多