【问题标题】:How to Delete Orphaned Records如何删除孤立记录
【发布时间】:2019-11-04 23:06:39
【问题描述】:

我正在尝试使用 GraphDiff 和实体框架来跨多个表更新一组记录。除了我需要删除可能已被替换的任何拥有实体的孤立记录外,一切正常。我缺少什么,因为我希望这种行为很常见,我只需要弄清楚如何适当地配置上下文或图形。这是我的示例代码:

        using (EfDataContext ctx = new EfDataContext())
        {
            try
            {
                ctx.Database.Log = msg => _sysLogObject.Debug(msg);

                ctx.UpdateGraph(assay, map => map
                    .OwnedCollection(p => p.Imagings, with => with
                        .OwnedEntity(p => p.ImagingCellType))
                    .OwnedEntity(p => p.DisplayTemplate)
                    .OwnedEntity(p => p.ExportTemplate)
                    .OwnedEntity(p => p.PrintTemplate)
                );
                ctx.SaveChanges();
                success = true;
            }
            catch (Exception ex)
            {
                _sysLogObject.Error(ex);
                throw;
            }
        }

【问题讨论】:

    标签: entity-framework graphdiff


    【解决方案1】:

    免责声明:我是项目的所有者Entity Framework GraphDiff

    我们也通过电子邮件收到了同样的问题。答案是:

    子级必须具有朝向父级的导航属性才能使其工作。否则,实体框架中的 ChangeTracker 只会跳过实体。

    【讨论】:

      猜你喜欢
      • 2017-09-04
      • 1970-01-01
      • 1970-01-01
      • 2013-10-29
      • 2015-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多