Foros del Web » Programación para mayores de 30 ;) » .NET »

LinQ Detach

Estas en el tema de LinQ Detach en el foro de .NET en Foros del Web. Hola a todos. Me he dedicado a trabajar con LinQ2SQL para manipular la base de datos. Aunque creo que esta bueno(sobre todo el completamiento de ...
  #1 (permalink)  
Antiguo 28/07/2010, 14:07
 
Fecha de Ingreso: marzo-2010
Mensajes: 15
Antigüedad: 14 años
Puntos: 0
LinQ Detach

Hola a todos.

Me he dedicado a trabajar con LinQ2SQL para manipular la base de datos. Aunque creo que esta bueno(sobre todo el completamiento de codigo y todas las comodidades para crear y editar las entidades y las relaciones) no creo que sea un trabajo completo. A mi entender tiene muchas restricciones principalmente el hecho de que no puedo atachar una entidad cargada de un DataContext a otro DataContext. He buscado en internet bastante y todos de una manera u otra dicen lo mismo; aparte de que no se puede; es una incomodidad. De manera que me di la tarea de crear un detach a las entidades con le grapho asociado; todo de forma generica (para asi poderla atachar a otro DataContext; y ademas sin tener que mantener el codigo si se hace un cambio).

Quisiera saber si alguien con mas experiencia en este tema me diga si la idea puede funcionar o que me den consejos. La estrategia es bastante simple:

Busco (por reflexion) todas las properties que devuelven Entidades y las mando a detachar recursivamente.

Busco todas las properties que devuelven EntitySet; salvo las entidades; la limpio y mando a detachar estas subEntidades recursivamente.

Restablesco el EntitySet.

Por supuesto me aseguro de no caer en recursividad infinita.

No quiero entrar en detalles ahora, hasta ahora me ha funcionado pero no estoy seguro si esta estrategia funcionara para todo. Agredeceria cualquier consejo o sugerencia. Mi miedo es tambien que el Reflection sobrecarge este proceso.

Gracias por adelantado.
Alberto7D9

Última edición por alberto7D9; 29/07/2010 a las 06:33

Etiquetas: linq
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:36.