[dotnetarchitects] remover child aggregate root (EF4)

20 views
Skip to first unread message

Calcopietro

unread,
Feb 2, 2012, 1:04:36 PM2/2/12
to .Net Architects
Prezados, estou passando por uma situação exatamente como esta
[ http://p2p.wrox.com/book-professional-asp-net-design-patterns/86518-delete-child-aggregate-root.html
].

Alguem já passou por isso? Não consigo pensar em nenhum designer para
contornar ou alguma config no EF.

Alguem tem alguma sugestão?

Obrigado,
Calcopietro

Seygi

unread,
Feb 2, 2012, 1:50:03 PM2/2/12
to dotnetar...@googlegroups.com
Tente algo do tipo:

var prod = db.Products.Single(d => d.ProductId == 1);
                db.Products.Remove(prod);

aqui funcionou.

Abraços

Igor santos

unread,
Feb 2, 2012, 2:34:57 PM2/2/12
to dotnetar...@googlegroups.com
Já tive o mesmo problema e optei por não utilizar o padrão (repository).

Att,

Igor Cardoso

 




Calcopietro

--
Você recebeu esta mensagem porque faz parte do grupo .Net Architects hospedado no Google Groups.
Para postar envie uma mensagem para dotnetar...@googlegroups.com
Para sair do grupo envie uma mensagem para dotnetarchitec...@googlegroups.com
Para mais opções visite o grupo em http://groups.google.com/group/dotnetarchitects?hl=pt-br

Calcopietro

unread,
Feb 17, 2012, 12:41:34 PM2/17/12
to .Net Architects
Boa tarde Seygi,

Acho que não me expressei bem, o cenário seria algo assim:
Categoria e Produto, clássico. Categoria seria o aggregate root, então
um repositorio para ele:

CategoriaRepositorio rep = new CategoriaRepositorio();
Categoria cat = rep.Find(x => x.id == idCategoria);
cat.Produtos.Remove(cat.Produtos.Find(x => x.id ==
idProduto));
rep.SaveChanges();

Se eu fizer isso, o EF remove a entidade Produtos do contexto, porém
no banco de dados ele não elimina o registro mas tenta torna-lo orfão
(setar null na FK).

Abs
Calcopietro

Acaz Souza Pereira

unread,
Feb 17, 2012, 1:07:29 PM2/17/12
to dotnetar...@googlegroups.com
Não seria Produto o aggregate root? o.O

--
Você recebeu esta mensagem porque faz parte do grupo .Net Architects hospedado no Google Groups.
Para postar envie uma mensagem para dotnetar...@googlegroups.com
Para sair do grupo envie uma mensagem para dotnetarchitec...@googlegroups.com
Para mais opções visite o grupo em http://groups.google.com/group/dotnetarchitects?hl=pt-br



--
[Acaz Souza Pereira]

MSN/GTalk: acaz...@gmail.com
Skype: acazsouza
Cel:  (31) 8706-4103

twitter.com/acazsouza

acazsouza.com.br

Reply all
Reply to author
Forward
0 new messages