Nous prévoyons d'utiliser des colonnes d'identité dans notre base de données de serveur sql. Actuellement, nous utilisons des guids pour générer des identifiants uniques, mais il s'avère que la commande est pertinente et nous envisageons de passer à des colonnes d'identité. Comme la commande est pertinente, nous voulons nous assurer que l'ordre dans lequel nous ajoutons des objets au contexte de l'entité est également l'ordre dans lequel ils sont insérés dans la base de données. Ceci est important car le serveur SQL générera des valeurs pour la colonne d'identité.La structure d'entité conserve-t-elle la commande lorsqu'elle est insérée dans la base de données?
Est-ce garanti par le framework d'entité? Si ce n'est pas le cas, qu'est-ce qu'une solution efficace pour générer vos propres identifiants entiers uniques pour une base de données mise à jour à partir de différents processus.
Je prévois d'ajouter une colonne d'identité pour définir explicitement la commande. Cependant l'ordre que nous voulons y mettre est la séquence d'arrivée. Je suis à la recherche d'une solution qui évite d'interroger la base de données pour la dernière ligne ajoutée afin de dériver un nouvel identifiant pour la nouvelle ligne. –
Eh bien, il y a certainement d'autres façons de le faire sans avoir à frapper la base de données. Par exemple, vous pourriez mettre un horodatage là-dedans. Si vous avez beaucoup de lignes en même temps, vous pouvez avoir un horodatage + index des transactions. Si vous ne voulez pas faire cela, vous pouvez avoir un bigint qui stocke les tiques. . . il est assez difficile d'obtenir plus d'un insert par tick. Fondamentalement, vous pouvez avoir un ordinal basé sur le temps si vous en avez besoin. Ensuite, si vous avez besoin de réorganiser pour une raison quelconque, vous avez toujours cette option. –