none
Recuperar el ultimo ID con entity RRS feed

  • Pregunta

  • Hola

    Como se puede recuperar el ultimo ID insertado en mi bd Sql con identity?

    Asigno una variable "x"de tipo int antes del using

      int IdOrden = 0;
                using (Model.PagoEntities db = new Model.PagoProveedoresEntities())
                {                
    
                    Model.Concepto oDocumento = new Model.Concepto();
                    oDocumento.Pdf = TxtBox7.Text.Trim();
                    oDocumento.DocumentoPDF = file;
                    oDocumento.NombreRealPDF = OpenFileDialog1.SafeFileName;
    
    
                    oDocumento.Xml = textBox5.Text.Trim();
                    oDocumento.DocumentoXML = file1;
                    oDocumento.NombreRealXML = OpenFileDialog2.SafeFileName;
    
                    oDocumento.Emisor = Lbl2.Text.Trim();
                    oDocumento.Forma_de_Pago = TxtBox1.Text.Trim();
                    oDocumento.Proveedor = ComboBox1.Text.Trim();
                    oDocumento.Banco = TxtBox4.Text.Trim();
                    oDocumento.Clabe_Interbancaria = TxtBox5.Text.Trim();
                    oDocumento.Concepto1 = ComboBox3.Text.Trim();
                    oDocumento.EstatusAdmin = textBox6.Text.Trim();
                    oDocumento.Fecha_de_Captura = Convert.ToDateTime(DateTimePicker1.Value);
                    oDocumento.IdConcepto = Convert.ToInt32(TextBox18.Text.Trim());
                    oDocumento.Id_Usuario = Convert.ToInt32(TxtBox2.Text.Trim());
                    oDocumento.Nombre = textBox1.Text.Trim();
                    oDocumento.Departamento = textBox2.Text.Trim();
                    oDocumento.Factura = TxtBox8.Text.Trim();
                    oDocumento.Descripcion = TxtBox9.Text.Trim();
                    oDocumento.Cantidad =Convert.ToDecimal(TxtBox10.Text.Trim());
                    oDocumento.Precio_Unitario = Convert.ToDecimal(TxtBox11.Text.Trim());
                    oDocumento.Importe = Convert.ToDecimal(TxtBox12.Text.Trim());
                    oDocumento.Descuento = Convert.ToDecimal(TxtBox13.Text.Trim());
                    oDocumento.Subtotal = Convert.ToDecimal(TxtBox14.Text.Trim());
                    oDocumento.IVA = Convert.ToDecimal(TxtBox15.Text.Trim());
                    oDocumento.Retencion_ISR =Convert.ToDecimal(TxtBox16.Text.Trim());
                    oDocumento.Retencion_IVA =Convert.ToDecimal(TxtBox17.Text.Trim());
                    oDocumento.Total=Convert.ToDecimal(TxtBox18.Text.Trim());
                    db.Conceptos.Add(oDocumento);
                    IdOrden = Convert.ToInt32(oDocumento.E);
                    db.SaveChanges();
                    MessageBox.Show("Registro insertado con el id");
                }
    Pero esa parte, tiene que ir forzosamente a un SP, o se puede consultar el ultimo ID sin necesidad de SP?
     IdOrden = Convert.ToInt32(oDocumento.E);
                 
                    MessageBox.Show("Registro insertado con el id");


    martes, 30 de junio de 2020 20:13

Respuestas

  • hola

    Cuando insertas se recupera automatico, despues del SaveChanges()

    la propiedad marcada como Key se le asigna el valor de la key definida como IDENTITY

    No se cual sera la key de la entidad que estas modelando, porque suena raro que la llames "E" a esa propiedad y tampoco se porque necesitas un Convert cuando se supone la key debe ser numerica

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta MarZav miércoles, 1 de julio de 2020 0:09
    martes, 30 de junio de 2020 23:05

Todas las respuestas

  • hola

    Cuando insertas se recupera automatico, despues del SaveChanges()

    la propiedad marcada como Key se le asigna el valor de la key definida como IDENTITY

    No se cual sera la key de la entidad que estas modelando, porque suena raro que la llames "E" a esa propiedad y tampoco se porque necesitas un Convert cuando se supone la key debe ser numerica

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta MarZav miércoles, 1 de julio de 2020 0:09
    martes, 30 de junio de 2020 23:05
  • Hola  MarZav,

      

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, te comparto el siguiente enlace que contiene un documento oficial con información sobre el caso que reportas 

      

    https://docs.microsoft.com/en-us/previous-versions/aspnet/dn896549(v%3Dvs.108)

    Usando identity ASP.net

    Gracias por usar los foros de MSDN. 

      

    Andres Aguilar 

     ____________________________ 

      

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.  

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.   

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft. 

    martes, 30 de junio de 2020 23:21
    Moderador
  • Gracias Leandro, lo pude mostrar como comentas, con el key de la tabla a la que estoy insertandole los datos.

    Despues del saveChanges

    MessageBox.Show("Registro insertado con el id",""+oDocumento.IdOrden);


    miércoles, 1 de julio de 2020 0:13
  • Hola MarZav

    Gracias por confirmar que se ha encontrado una solución a la consulta realizada. Debido a ello, este hilo será cerrado. 

    Si es necesario, por favor abra un nuevo hilo. 

    Cualquier duda referente a productos Microsoft, puedes consultarnos. Es un gusto informarte. 

    Gracias por usar los foros de MSDN. 

     

     Andres Aguilar

    ____________________________ 

    miércoles, 1 de julio de 2020 13:11
    Moderador