我正在使用GraphDiff和EF来更新从REST服务获取的断开连接的对象的状态。
从现在开始它工作得相当好,但我遇到了自引用实体的问题。
实体:
public class Foo {
[Key]
public int Id { get; set; }
public virtual ICollection<Bar> Bars { get; set; }
public Foo() {
Bars = new HashSet<Bar>();
}
}
public class Bar {
[Key]
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Bar> Children { get; set; }
public Bar() {
Children = new HashSet<Bar>();
}
}
UpdateGraph电话:
DataContext.UpdateGraph(entity, map => map
.OwnedCollection(e => e.Bars,
with => with.OwnedCollection(b => b.Children)
)
);
这最后一次图表调用只更新1级递归。我怎样才能更新主页递归的深度?
答案 0 :(得分:1)
GraphDiff目前不支持通过流畅的API映射非预定深度的递归关系。此外,基于新属性的映射将因圆形图而抛出异常。所以我担心你现在无法对此进行映射,但是我已经打开了an issue,并且可以查看是否可以添加对此的支持。