12
  1. 将新实体添加到TrackableCollection( context.Entities.Add(entity)) (EntityState = New)
  2. TrackableCollection不保存,从( )中删除添加的实体context.Entities.Remove(entity)(EntityState = Unmodified)
  3. 节省。( context.SubmitChanges())

我仍然从与实体关联的数据注释中得到验证错误,为什么?

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

2 回答 2

1

它正在跟踪已删除实体的集合,即使它没有保存到您的商店(它位于 ObjectsRemovedFromCollection 属性中)。

此链接包含有关幕后情况的更多信息:MSDN

我没有找到有关明确触发验证的详细信息,但您可以在调用 context.SubmitChanges() 之前尝试调用 AcceptChanges() 或 ObjectsAddedToCollectionProperties.Clear() 和 ObjectsRemovedFromCollectionProperties.Clear()

于 2011-06-07T22:38:56.233 回答
0

尝试

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

然后打电话

context.SaveChanges()

;)

于 2011-06-23T07:45:30.210 回答