//Devart.Data.PostgreSql.PgSqlMonitor mon = new Devart.Data.PostgreSql.PgSqlMonitor(); public static int GetNextSecuentialId(int pintNodeId, int pintTableId) { SigesoftEntitiesModel dbContext = new SigesoftEntitiesModel(); secuential objSecuential = (from a in dbContext.secuential where a.i_TableId == pintTableId && a.i_NodeId == pintNodeId select a).SingleOrDefault(); // Actualizar el campo con el nuevo valor a efectos de reservar el ID autogenerado para evitar colisiones entre otros nodos if (objSecuential != null) { objSecuential.i_SecuentialId = objSecuential.i_SecuentialId + 1; } else { objSecuential = new secuential(); objSecuential.i_NodeId = pintNodeId; objSecuential.i_TableId = pintTableId; objSecuential.i_SecuentialId = 0; dbContext.AddTosecuential(objSecuential); } dbContext.SaveChanges(); return(objSecuential.i_SecuentialId.Value); }