我一直在这里和谷歌上挖掘帖子,找不到任何东西可以帮助我解决在现有实体上保存子实体的问题。
假设我有一个可以容纳物品的购物车,这意味着我有一个包含 ShoppingCartItem 实体集合的 ShoppingCart 实体。
在我的控制器中,我检查 ShoppingCart 是否存在并检索实体(如果存在)。如果不是,它是一个新实体(Entitystate 被标记为已添加)。然后,我继续将项目添加到已经存在的集合中(如果已经存在任何项目)我现在的问题是仅当我将更改保存到已创建的 ShoppingCart 时:它在数据库中添加了一个新的购物车,其中既有现有的项目和新项目...
所以,如果我有一个 Shoppingcart 和两个孩子,我现在添加 3 个新项目,我最终会在 ShoppingCart 表中有 2 个 ShoppingCart 条目和 7 个 ShoppingCartItem 条目......
我跟踪了代码,一旦使用 AddObject() 添加了新的 ShoppingCartItem,ShoppingCart 实体就会被标记为已添加...
我怎样才能防止这种情况?
非常感谢,
斯蒂芬