【发布时间】: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