quinta-feira, 13 de outubro de 2011

Remove do List (C# e NHibernate)

Cara, essa é sacanagem... Escrevendo aqui quase como nota mental.

Na edição da minha entidade, eu tenho que atualizar lugares aos quais ela pertencia e não pertence mais, seus pais. Dados redundantes para ajudar na performance (isso dá um trabalho do c...). Pra isso, recupero a entidade do banco de "desprendo" (evict) da sessão do NH, para ter os antigos pais.

Peço para remover a entidade que estou mexendo na entidade pai. Porém, a que tenho na lista (pai) é a editada. A que recuperei do banco não está mais ali. Resultado: não adianta fazer um simples Remove.


Código para explicar melhor:

current = [Edição via usuário]

old = [recuperado do banco]

parent.list.Remove(old); < não funciona, por enquanto a lista tem o current



Até aí, qualquer um que entenda alguma coisinha sobre memória entende que os dois não se tratam do mesmo objeto. MAS EU VOU MORRER SEM ENTENDER PORQUE EM DEBUG FUNCIONAVA!!!

Nenhum comentário:

Postar um comentário