2

我正在使用 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" />
4

4 回答 4

3

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

于 2013-09-07T03:09:14.617 回答
2

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

于 2013-04-18T05:17:52.383 回答
0

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

于 2013-11-08T16:06:26.100 回答
0

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

于 2013-05-23T16:03:17.890 回答