Entity Framework для базы данных без внешних ключей - PullRequest
2 голосов
/ 05 февраля 2010

В настоящее время я работаю с большой базой данных (около 500 таблиц), и все без определения внешних ключей.

У меня вопрос, есть ли простой способ установить отношения внутри структуры сущностей (версия 1 или 2), не делая все это вручную?

Также некоторые таблицы имеют сложный тип отношений. Например, у клиента есть parentID, но это может быть либо ссылка на другого клиента в той же таблице (customerID), либо ссылка на учетную запись в таблице счетов (accountID). Возможны ли такие отношения в рамках сущности?

Если это невозможно или у кого-то есть какие-либо мнения по поводу альтернативного решения Enitity Framework, я более чем открыт для идей. Будет ли nHibernate или активная запись лучшим решением? Или будет проще создать собственный бизнес-объект и получить доступ к данным?

Приветствия

Simon

1 Ответ

6 голосов
/ 05 февраля 2010

Если у вас не определены внешние ключи, то Entity Framework не сможет вывести отношения. Вам придется определить их вручную.

Что касается вашего второго вопроса ... нет. Такие отношения невозможны (это также плохой выбор дизайна).

Мне кажется, что если вы не хотите реорганизовать свою базу данных и реализовать дизайн, имеющий отношения внешнего ключа, вам придется вручную свернуть свои собственные бизнес-объекты и уровень доступа к данным.

...