问题描述
我们正在使用 Entity Framework 5.0 并且有一个用于创建预览的用例。 所以我想看看我是否可以使用 EF 在 EF 数据模型类中构建我的预览并且不持久化(没有 SaveChanges)。 (我当然可以在没有 EF 的情况下做到这一点,但我想我会做实验。)
现在我在添加到我的上下文时看到了一些奇怪的东西。
-
当我执行 Child.Add 时,父子之间的关系被设置(parent.Child 现在包含 child)。在调用 Add 之前它没有这样做。
private void Insert(Parent parent,Child child) { // Context.Parent does not get any items: int before = this.Context.Parent.Count(); this.Context.Parent.Add(parent); int after = this.Context.Parent.Count(); // This affects Parent.Child: this.Context.Child.Add(child); }
这是 Context 类的重要部分(为了清晰起见,删除了很多):
modelBuilder.Entity<Child>(entity =>
{
// Removed code here...
entity.HasOne(d => d.Parent)
.WithMany(p => p.Child)
.HasForeignKey(d => d.ChildId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("FK_Child_Parent");
});
Add 到底做了什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)