Je n'aurais probablement jamais dû prendre cette classe de psychologie, mais parce qu'il y a un mot "id", je mets toujours en majuscule l'abréviation de l'identifiant, donc j'utilise "ID". J'ai expérimenté à la fois juste en utilisant ID et ProductID pour le nom de clé primaire. Comme j'utilise LINQ et que je fais simplement correspondre la classe au concepteur, j'ai pris l'habitude de nommer les colonnes comme je le veux dans mon code. Parce que je préfère avoir product.ID
que product.ProductID
, j'utilise le nom plus court. Pour les clés étrangères, j'utilise le format table/colonne (sans séparateur), donc la clé étrangère deviendrait ProductID. Ce n'est pas un problème pour moi dans mon code, cependant, parce que j'utilise presque toujours l'entité mappée, par exemple, cart.Product
plutôt que la clé elle-même, cart.ProductID
.
EDIT: note Je suppose une cible du framework .NET, en utilisant (principalement) les conventions de nommage de .NET. Si je faisais du développement Rails, ceux-ci seraient probablement en minuscules et j'utiliserais des underscores comme séparateurs.
A voté pour ne pas prendre en charge l'utilisation de "id" comme nom de clé primaire. Cela m'a toujours semblé être le gaspillage d'une opportunité de rendre son code plus clair. –
@Larry - dans le contexte de l'application, l'utilisation est presque toujours plus lisible si vous utilisez simplement 'id'. Comme dans, 'product.id' vs' product.product_id' (Rails-style). Je ne vois aucune valeur à répéter le produit dans le nom de l'entité et dans le nom de la propriété. – tvanfosson
@tvanfosson La valeur est sûrement chaque fois que vous avez une requête qui retournera un ensemble de résultats avec plus de 1 champ ID (par exemple PostId, ThreadId, UserId) –