EF4保存对象会添加一个新子项

时间:2010-08-19 21:49:27

标签: entity-framework-4

这是实体框架4.

CurrentProperty.FMVHistories.Add(FMVPresenter.GetFMVHistoryObject());
DataLayer.AccrualTrackingEntities repository = new AccrualTrackingEntities();
repository.Properties.AddObject(CurrentProperty);
repository.SaveChanges();

在我调用SaveChanges之前,CurrentProperty在其FMVHistories集合中有1个对象,应该如此。保存之后,它有两个 - 第二个似乎是第一个的副本,两个都正确设置了外键。

此处涉及的所有对象都是新的。没有以任何方式加载。

FMVHistory有一个3个字段的复合键,其中一个是它附加的属性的外键。

有谁知道为什么要添加第二个FMVHistory对象?

1 个答案:

答案 0 :(得分:1)

看起来这与EF处理日期的方式有关。 FMVHistory表的设计者使用复合键创建了它,其中一部分是日期字段。出于某种原因,当EF放入对象时,它会从插入的日期截断秒数等,从而打破了许多奇怪的东西。我最终杀死了复合键并输入了一个标识,现在一切都很棒。