Entity framework 4 EF4保存对象会添加新的子对象

Entity framework 4 EF4保存对象会添加新的子对象,entity-framework-4,Entity Framework 4,这是实体框架4 CurrentProperty.FMVHistories.Add(FMVPresenter.GetFMVHistoryObject()); DataLayer.AccrualTrackingEntities repository = new AccrualTrackingEntities(); repository.Properties.AddObject(CurrentProperty); repository.SaveChanges(); 在调用SaveChanges之前,

这是实体框架4

CurrentProperty.FMVHistories.Add(FMVPresenter.GetFMVHistoryObject());
DataLayer.AccrualTrackingEntities repository = new AccrualTrackingEntities();
repository.Properties.AddObject(CurrentProperty);
repository.SaveChanges();
在调用SaveChanges之前,CurrentProperty在其FMVHistories集合中有1个对象,这是它应该有的。保存之后,它有两个,第二个看起来是第一个的副本,两个都正确设置了外键

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

FMVHistory有一个由3个字段组成的复合密钥,其中一个字段是它所附加到的属性的外键


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

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