4 votes

Quelle est la convention de nommage des tables de nombre à nombre en EF

J'ai une relation de beaucoup à beaucoup entre la table A et la table B, au début, la table de relation générée est AB, cependant, après quelques mises à jour, maintenant le nom change en BA, je veux éviter cela. Je sais que vous pouvez utiliser FluentConfiguration .ToTable pour spécifier le nom, mais y a-t-il un meilleur moyen de le faire?

5voto

Slauma Points 76561

Le nom par défaut AB ou BA dépend très probablement de l'ordre dans lequel les DbSet des deux entités sont déclarées dans la classe de contexte, des autres entités qui se réfèrent aux deux entités et de l'ordre dans lequel leurs métadonnées sont chargées dans le contexte. Les résultats de quelques tests sont ici.

En d'autres termes, le nom pourrait passer de l'un à l'autre chaque fois que vous modifiez quelque chose dans votre modèle ou dans la classe de contexte pendant le développement et il est difficile de contrôler.

Spécifier le nom avec l'API fluide est le meilleur moyen d'avoir un nom de table de liaison stable qui ne change pas - et autant que je sache, c'est le seul moyen.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X