【问题标题】:WPF Entity Framework, Include doubles dataWPF 实体框架,包括双打数据
【发布时间】:2017-10-11 06:31:12
【问题描述】:

我目前正在使用 WPF 中的一个项目,在 tha back 中有一个实体框架。 我有一个名为 Category 的表,其中包含 Id、CatNumber、CatName。 我还有一个产品表,其中产品与类别具有一对一的关系。 目前我正在尝试创建某种围绕它使用的工作单元服务,因此不必在应用程序的生命周期内打开上下文。 关于我对 DBContext 的一个问题,我想要一份关于一个订单的所有文章的列表。我尝试使用:

from model in
mainDBContext.Include(o=>o.OrderList.Select(p=>p.Articles.Select(c=>c.Category))) 
where model.CustomerID == 5 select model

我遇到的问题是,当保存对文章的更改时,它会使用我的文章行中的重复数据更新我的 Category 表。 文章行现在有一个 categoryID 连接到新添加的行,而不是第一个。

Includes 有问题还是关系有问题...?

【问题讨论】:

标签: c# wpf entity-framework


【解决方案1】:

这是因为当您尝试更新您的实体时,该实体属于您从中获取的另一个上下文,您应该做的就是将您的实体附加到您当前的上下文中,类似这样的一些代码:

context.Articles.Attach(*YourEntityInstance*);

【讨论】:

  • 谢谢,但如果我有一个复杂对象作为订单,其中包含包含该类别的文章列表。我是否需要遍历所有文章并访问 Category 对象并全部附加?
  • @Mrq 是的,您应该实现一个简单的方法,并将所有不在上下文中的子项附加到您需要的任何深层
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-21
  • 1970-01-01
  • 2021-04-03
  • 2017-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多