Как заставить мой репозиторий удалять дочерние объекты, а не только свойства навигации из моего сводного корня - PullRequest
3 голосов
/ 03 октября 2011

Я пытаюсь создать работающий репозиторий, используя Entity Framework.Я чувствую, что где-то упускаю что-то действительно очевидное.Допустим, у меня есть IRepository<Person>, у которого много Address в ICollection<Address> Addresses.

Когда я звоню Person.Addressess.Remove(sameAddress), я понимаю, это только удалит навигацию (в этом случае попытается установить PersonID столбец к нулю в базе данных).

Проблема в том, что я хочу каким-то образом удалить его из корневого агрегата, поэтому я могу просто отправить объект Person в мой репозиторий, например personRepository.Update(person)вручную удалить адрес или создать хранилище адресов.

Возможно, я ищу не то, что нужно, но я бы подумал, что это обычная проблема, но я не могу найти что-то в сети.

1 Ответ

0 голосов
/ 03 октября 2011

Похоже, что в будущем выпуске EF возможно то, что вы просите:

http://blogs.msdn.com/b/dsimmons/archive/2010/01/31/deleting-foreign-key-relationships-in-ef4.aspx

...