saludos tropa, una vez mas requiero la ayuda de Uds, en esta ocacion
con Linq.
resulta que tengo las siguientes clases:
public partial class Tabla1
{
public virtual int IdT1 { get; set; }
public virtual string NameT1 { get; set; }
}
public partial class Tabla2
{
public virtual int IdT2 { get; set; }
public virtual string NameT2 { get; set; }
}
public partial class RelacionT1_T2
{
public virtual Tabla1 tab1 { get; set; }
public virtual Tabla2 tab2 { get; set; }
public virtual DateTime? Fecha { get; set; }
public override int GetHashCode()
{
return tab2.GetHashCode() + tab1.GetHashCode();
}
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
if (ReferenceEquals(this, obj)) return true;
var other = obj as RelacionT1_T2;
if (other == null) return false;
return (tab1 == other.tab1
&& tab1 == other.tab1
&& Fecha == other.Fecha);
}
}
esta ultima clase es para simular una relacion m-m entre tabla1 y
tabla 2, por tanto los campos tab1 y tab2 ademas de ser referencias a
sus respectivas tablas son la llave primaria de esta(personalmente uso
Fluente NHibernate y estas tablas no son mas que ejemplos que pongo,
el contexto real es mas complicado y fluent no me presta las
herramientas para poder hacer una relacion m-m complejas por tanto
creo esta clase para simular dicha relacion)
supongamos entonces que tengo en la tabla1 las siguientes ocurrencias
IDT1 NAMET1
1 dennis
2 alba
en la tabla 2 tenemos
IDT2 NAMET2
1 carro
y en relacion t1_t2
IDT1 IDT2 FECHA
1 1 02/09/2011 03:57:19 p.m.
requiero entonces que en un momento determinado mandar a cambiar en la
tabla que se crea para la clase RelacionT1_T2 el valor del IDT1 que
en este momento es 1 y pertenece a dennis como se ve arriba y ponerle
el valor 2 que pertenece a alba
esto lo intente hacerlo con Updtae y Merge pero no funciona con
ninguno por supuesto porque a ambos se le ha de pasar el objeto que se
desea modificar, con este objeto el busca la llave primaria en la BD y
cuando lo encuentra lo modifica, pero como lo que voy a modificar es
la llave primaria el no encontrara jamas el 2-1 que le paso por el
objeto ya que solo existe 1-1 por tanto no me actualiza.
La pregunta es hay alguna forma de programar en linq esta
actualizacion como se hacia normalmente con SQL ya saben "update tabla
en campos los values where condicion" u otra forma???
muchas gracias
--
Para escribir al Grupo, hágalo a esta dirección:
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano