none
insert y select con linq RRS feed

  • Pregunta

  • Saludos, solicitando su ayuda por favor. Necesito hacer un insert con linq a una base de datos y los campos a insertar provienen de una una sentencia select. Algo así;

    Insert into Trayectos (trayecto,id_ruta) Select Ruta, id_ruta From ruta INNER JOIN viajes On ruta.id_viaje=viajes.id_viaje WHERE viajes.id_viaje=15

    sábado, 11 de febrero de 2012 17:26

Respuestas

  • Hola omarifr,

    Una posible solución sería que antes de guardar los cambios realizaras esta consulta para obtener el valos máximo y luego lo asignaras a la propiedad consecutivo.

    Algo del siguiente estilo:

    var consecutivo =
        (from viaje in db.Viajes
        select viaje.Id)
        .Max();
    

    Saludos,

    JA Reyes.


    Please remember to Vote & "Mark As Answer" if this post is helpful to you.
    Por favor, recuerda Votar y "Marcar como respuesta" si la solución de esta pregunta te ha sido útil.

    • Propuesto como respuesta Pedro J Marquez jueves, 16 de febrero de 2012 13:18
    • Marcado como respuesta omarifr jueves, 16 de febrero de 2012 17:51
    jueves, 16 de febrero de 2012 9:56

Todas las respuestas

  • pero es linq to sql lo que usas, o es entity framework ?

    ademas si usas linq sql para que has realizado un INSERT si este lo ahce por ti para crear la persistncia a la base de datos

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    sábado, 11 de febrero de 2012 19:00
  • Ay si ya no entendi, dejame platicarte lo que estoy haciendo. En mi proyecto agrege un archivo linq to Sql classes llamado DataClasses1.dbml, y en mi codigo hago lo siguiente

    1.- Dim db As New DataClasses1DataContext()
                Dim nueva_orden = New Ordene With {.id_status = 1, .ano = anoActual, .consecutivo = consecutivo}

    db.Ordenes.InsertOnSubmit(nueva_orden)

     db.SubmitChanges()

    2.- Pero el campo consecutivo debe debe ser el resultado de un consulta a la tabla viajes el cual contiene el siguiente numero ha asignar el la tabla Orden.

    Algo como Select Max(consecutivo) From viajes

    Lo que no se hacer es el punto numero 2 con linq, la sentencia que me devolveria el consecutivo de la otra tabla.

    martes, 14 de febrero de 2012 18:35
  • Hola omarifr,

    Una posible solución sería que antes de guardar los cambios realizaras esta consulta para obtener el valos máximo y luego lo asignaras a la propiedad consecutivo.

    Algo del siguiente estilo:

    var consecutivo =
        (from viaje in db.Viajes
        select viaje.Id)
        .Max();
    

    Saludos,

    JA Reyes.


    Please remember to Vote & "Mark As Answer" if this post is helpful to you.
    Por favor, recuerda Votar y "Marcar como respuesta" si la solución de esta pregunta te ha sido útil.

    • Propuesto como respuesta Pedro J Marquez jueves, 16 de febrero de 2012 13:18
    • Marcado como respuesta omarifr jueves, 16 de febrero de 2012 17:51
    jueves, 16 de febrero de 2012 9:56
  • Ah q sencillo, muchas gracias.
    jueves, 16 de febrero de 2012 17:51