【发布时间】:2019-11-17 20:07:57
【问题描述】:
我使用 .Net Core 创建了一个网上商店,并且我正在使用 Entity Framework 代码优先迁移。
我尝试实现产品订单、多对多连接,但出现以下错误:
无法确定“ICollection”类型的导航属性“Order.Products”表示的关系。手动配置关系,或使用“[NotMapped]”属性或使用“OnModelCreating”中的“EntityTypeBuilder.Ignore”忽略此属性
我的实现是:
Order.cs
public class Order
{
[Key]
public int OrderId { get; set; }
...
public virtual ICollection<Product> Products { get; set; }
}
产品.cs
public class Product
{
[Key]
public int ProductId { get; set; }
...
public virtual ICollection<Order> Orders { get; set; }
}
OrderProducts.cs
public class OrderProduct
{
[Key]
public int Id { get; set; }
[ForeignKey("Order")]
public int OrderId { get; set; }
[ForeignKey("Product")]
public int ProductId { get; set; }
public virtual Order Order { get; set; }
public virtual Product Product { get; set; }
}
我的上下文:
public class WebShopContext : IdentityDbContext
{
public WebShopContext(DbContextOptions<WebShopContext> options)
: base(options)
{
}
public DbSet<Product> Product { get; set; }
public DbSet<Order> Order { get; set; }
public DbSet<OrderProduct> OrderProduct { get; set; }
}
我做错了什么?
【问题讨论】:
标签: .net entity-framework asp.net-core entity-framework-core