Устаревшая база данных - я должен использовать NHibernate? - PullRequest
1 голос
/ 18 октября 2010

Я застрял в устаревшей базе данных, содержащей составные ключи, и нет места для изменения базы данных.

Проблема, похоже, в том, что одна часть ключа также используется для каждого внешнего ключа.Поэтому, если у меня есть таблицы A и B, например:

A

  • company (PK)
  • aId (PK)
  • someMoreInfo

B

  • компания (PK, FK)
  • BID (PK)
  • AID (FK)
  • someOtherInfo

Поле компании в таблице B - это PK для таблицы B и используется для обозначения FK для таблицы A. Все, что я пробовал, приводит к Repeated column in mapping исключениям.

Так что это не вопрос «как мне» (ну, если у вас есть решение - продолжайте, я бы посчитал, что мне повезло, если это всего лишь мое воображение и нет реальной проблемы…), но«Вы чувствуете, что это правильно?»

  • Может ли быть возможно получить доступ к БД, подобным этому, используя nhibernate (ну, кроме отображения всех таблиц 1: 1 без ссылок)
  • Как вы думаете, это хорошая идея?
  • каковы альтернативы с учетом моих обстоятельств (т.е. хороши ли в этом какие-либо O / R-Mappers)?

КСТАТИ: Эта та же проблема,и один из моих сложных сценариев здесь .

1 Ответ

1 голос
/ 20 октября 2010

Я не знаю, как решить конкретную проблему внешнего ключа-наложения-первичного ключа, но я скажу о ORM, которые я пробовал, NH, скорее всего, будет совместимо с вашей прежней схемой;на самом деле, это одна из самых больших целей дизайна NH.Поэтому я бы сказал, что NH прав, и вы, скорее всего, найдете в нем ответ, чем в большинстве других ORM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...