TrackableCollection
添加新实体(context.Entities.Add(entity)
)(EntityState = New)TrackableCollection
(context.Entities.Remove(entity)
)删除添加的实体(EntityState =未修改)context.SubmitChanges()
)我仍然从与实体相关的数据注释中获得验证错误,为什么?
public class Entity
{
[Required]
public string Name { get; set; }
}
答案 0 :(得分:1)
它正在跟踪已删除实体的集合,即使它没有持久存储到您的商店(它位于ObjectsRemovedFromCollection属性中)。
此链接提供了有关幕后内容的更多信息:MSDN
我没有找到有关明确触发验证的详细信息,但您可以在调用context.SubmitChanges()
之前尝试调用AcceptChanges()或ObjectsAddedToCollectionProperties.Clear()和ObjectsRemovedFromCollectionProperties.Clear()。答案 1 :(得分:0)
尝试
context.Entry(entity).State = EntityState.Detached
然后致电
context.SaveChanges()
)