Какое соглашение об именах таблиц лучше для ORM? - PullRequest
2 голосов
/ 17 августа 2010

Я недавно начал работать в новом магазине, в котором используется соглашение об именах таблиц, например:

  • Пользователи
  • UserRoles
  • UserUserRoles
  • UserProfiles
  • UserProfileLanguages ​​

Я использовал следующее соглашение:

  • Пользователи
  • Роли
  • UserRoleMaps
  • Профили
  • Языки

Когда мой начальник спросил, почему я не добавляю префиксы к моим таблицам, я объяснил, что диаграмма базы данных намного лучше объяснит все отношениячем любое соглашение об именах. Я ошибаюсь, предполагая, что?

Я готов признать, что первый пример является более полным (особенно если вы смотрите только на таблицы напрямую), но каково предпочтительное решение для ORM? Например, в LINQ я получал бы доступ к языку моего пользователя так:

User.Profile.Language

, тогда как первый пример был бы:

User.UserProfile.UserProfileLanguage

Конечно, я мог бы легко переименовать мои таблицы в конструкторе LINQ в любое удобное для меня время, но это быстро становится проблемой, если схема данных постоянно меняется.

EDIT: в качестве примера удален префикс APP_, поскольку он не имеет отношения кэтот вопрос.

1 Ответ

0 голосов
/ 18 августа 2010

Я мог бы легко переименовать мои таблицы в конструкторе LINQ на все, что мне угодно

...