2012-05-25 3 views
1

Я, как правило, создаю таблицы в базе данных, а затем перетаскиваю их в конструктор dbml для создания своего DataContext. Обычно я создаю ассоциации в dbml вручную, должен ли я это делать или мне нужно иметь эти ассоциации в базе данных? Я спрашиваю, потому что в мире MySQL эти ассоциации были бы представлены внешними ключами, и я чувствую, что обхожусь на уровне базы данных.Создание ассоциаций в файле dbml?

ответ

1

Вы более безопасно создаете внешние ключи в MySQL. Ваш код .NET будет соблюдать эти ассоциации, если они находятся только в DBML, но на уровне базы данных не будет ничего, чтобы обеспечить выполнение тех же ограничений, если вы их не создадите, что означает, что прямой доступ к DB SQL может быть опасным.

1

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

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

Я сохраняю настройку в частичном классе С #. Зачем? Я больше уверен, что db-схема и dbml синхронизированы, поэтому я могу рассуждать из одной и той же модели и не принимать во внимание любые настройки вручную в dbml. Хорошо, что кабина редактирует dbml напрямую, так как это поможет вам лучше диагностировать проблемы.

Смежные вопросы