2010-10-20 7 views
1

Quelqu'un pourrait me guider à ce sujet. J'utilise EntityFramwork4, je veux obtenir l'ID de la dernière rangée d'une table. Quelqu'un peut-il avoir l'expérience de l'utilisation de ce savoir, comment puis-je obtenir le dernier identifiant d'une table de base de données.Obtenir le dernier ID de la table [Entity Framework]

+0

@Mitch, oui j'ai besoin de Max ID, ce qui signifie le dernier identifiant. Y at-il une méthode appelée max – KItis

+0

@Kltis, pourquoi voulez-vous obtenir l'ID max? –

Répondre

0

Les bases de données relationnelles n'ont pas d'ordre intrinsèque. Il n'y a pas de "la dernière rangée". Même s'il y en avait, la simultanéité multi-utilisateur rendrait cela insignifiant.

Max(id) ne résout pas votre problème en raison de la concurrence. Mais puisque vous ne nous avez pas dit quel est le vrai problème que vous essayez de résoudre, il est difficile d'être sûr.

+0

"Les bases de données relationnelles n'ont pas d'ordre intrinsèque" - Les tables dans SQL Server font si elles ont un index en cluster défini. –

+0

@Mitch, je sais, mais c'est un détail d'implémentation. Le cas général est toujours comme je l'ai dit. En outre, ce n'est pas vraiment ce que veut @Kltis, je pense. Il cherche vraiment * son * dernier disque, pas * le * dernier disque. Utiliser 'Max (id)' est une très mauvaise idée. En plus d'être probablement faux, il peut être lent même quand cela fonctionne. –

+1

@Craig: "ça peut être lent" - c'est sûr que tout peut être lent. Dépend de la taille de la table, des index, de la RAM du serveur, etc ... –

Questions connexes