我正在使用Entity Framework来访问我的数据库。在进行迁移时,我发现创建了两个表:
- Shop
- Product
我创建了一个商店(Shop)对象,并向该商店的shop.Products
集合中添加了一个产品对象,但执行这一操作后,我发现在数据库中仅保存了商店(Shop)表中变更过的属性,而产品(Product)表仍然是空的。
我是否需要在数据库上下文中再添加一个DbSet<Product>
,并且将产品单独保存到这个表中呢?
或者说,有没有其他更恰当的方式来处理这个问题?
我的代码是用C#编写的,并且运行在.NET Core 8平台上。
以下是相关代码示例:
public class MyContext : DbContext
{
public DbSet<Shop> ShopItems { get; set; }
// 我是否需要在这里也定义一个DbSet<Product>?
}
public class Shop
{
[Key]
public string UniqId { get; set; }
public List<Product> Products { get; set; } // 产品集合
}
public class Product
{
[Key]
public string UniqId { get; set; }
public double Price { get; set; }
public string Name { get; set; }
}
请指导我如何正确地实现商店与产品之间的关联存储。