es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Framework de Entidades insertando mediante el método SingleInsertAsync de Z.EntityFramework que devuelve el IDENTITY.

Quiero insertar un único registro en mi base de datos utilizando el Z Entity Framework Extensions y el método SingleInsertAsync. Sin embargo, necesito el ID de la entidad recién insertada. ¿Cómo puedo obtenerlo? No encuentro documentación alguna para este método.

Aquí está mi código:

Specification newSpecification = db.Specifications.Create();

newSpecification.ID_Feature = featureID;
newSpecification.Specification1 = specificationKey;

await db.Specifications.SingleInsertAsync(newSpecification);

int id = newSpecification.ID;

La variable id, obviamente, es 0 después de la inserción. ¿Cómo puedo obtener el ID real allí? Desafortunadamente, SingleInsertAsync no devuelve nada.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Puede utilizar el método SaveChangesAsync para obtener el ID de la entidad recién insertada. Después de llamar a SingleInsertAsync, llame a SaveChangesAsync y el ID de la entidad se poblara. Aquí hay un ejemplo:

    Especificación nuevaEspecificacion = db.Specifications.Create();
    
    nuevaEspecificacion.ID_Feature = featureID;
    nuevaEspecificacion.Specification1 = specificationKey;
    
    await db.Specifications.SingleInsertAsync(nuevaEspecificacion);
    await db.SaveChangesAsync();
    
    int id = nuevaEspecificacion.ID;
    

Comments are closed.