12
  1. 添加一个新的实体到TrackableCollectioncontext.Entities.Add(entity))(EntityState =新)
  2. 不保存,从TrackableCollectioncontext.Entities.Remove(entity))删除添加的实体(EntityState =未修改)
  3. 保存。 (context.SubmitChanges()

我仍然从与实体相关的数据注释中获得验证错误,为什么?为什么实体在消失时仍然被验证?

public class Entity 
    { 
     [Required] 
     public string Name { get; set; } 
    } 
+0

听起来就像是一个错误:) – oleksii 2011-06-16 07:34:47

回答

1

据跟踪删除实体的集合,即使它不保存到你的店(这是在ObjectsRemovedFromCollection属性)。

此链接有关于什么是引擎盖下事情的更多信息:MSDN

我没有找到什么明确的触发验证的细节,但你可以尝试调用的AcceptChanges()或ObjectsAddedToCollectionProperties.Clear()和ObjectsRemovedFromCollectionProperties.Clear()调用context.SubmitChanges()之前

+0

嗯似乎那些成员没有为我存在。 – 2011-06-08 15:05:51

0

尝试

context.Entry(entity).State = EntityState.Detached 

然后调用

context.SaveChanges() 

;)

相关问题