Почему сущность все еще подтверждается, когда она исчезла? - PullRequest
12 голосов
/ 07 июня 2011
  1. Добавление нового объекта в TrackableCollection (context.Entities.Add(entity)) (EntityState = New)
  2. Без сохранения удалите добавленный объект из TrackableCollection (context.Entities.Remove(entity)) (EntityState =Не изменено)
  3. Сохранить.(context.SubmitChanges())

Я все еще получаю ошибки проверки из аннотаций данных, связанных с объектом, почему?

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

Ответы [ 2 ]

1 голос
/ 08 июня 2011

Он отслеживает коллекцию удаленных сущностей, даже если она не была сохранена в вашем магазине (она находится в свойстве ObjectsRemovedFromCollection).

Эта ссылка содержит дополнительную информацию о том, что происходит внутри: MSDN

Я не нахожу подробностей о том, что явно запускает проверку, но вы можете попробовать вызвать AcceptChanges () или ObjectsAddedToCollectionProperties.Clear () и ObjectsRemovedFromCollectionProperties.Clear () перед вызовом context.SubmitChanges ()

0 голосов
/ 23 июня 2011

попробуй

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

, затем позвоните

context.SaveChanges()

;)

...