Как смоделировать мою базу данных при использовании Entity Framework 4? - PullRequest
1 голос
/ 06 мая 2010

Попытка обдумать лучший подход к моделированию базы данных, когда мы используем Entity Framework 4 в качестве слоя ORM. Мы собираемся использовать asp.net mvc 2 для приложения.

Стоит ли пытаться моделировать с помощью средства моделирования диаграмм классов, поставляемого с Visual Studio 2010, где вы графически конфигурируете свои модели в файл EDMX, а затем генерируете структуру базы данных?

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

На данный момент я полагаю, что легко отказаться от и начать моделирование БД с использованием реальных, работающих инструментов моделирования БД, а затем попытаться сгенерировать EDMX из базы данных, вместо того, чтобы пытаться применить модель вначале.

1 Ответ

1 голос
/ 06 мая 2010

Это действительно вопрос предпочтений. Если вы чувствуете себя комфортно на SQL-сервере, это, пожалуй, лучшее место для начала. Но если вы больше программист на C #, иногда проще начать в дизайнере EDMX, создать модель и затем попросить ее выяснить, как должна выглядеть база данных.

Конечно, если вы сначала пойдете по модели, вам все равно нужно будет зайти в SSMS и добавить индексы и, возможно, переименовать некоторые FK и таблицы по своему вкусу. Затем вы можете привести модель в соответствие с обновлением модели.

Моделирование наследования - это то, что вам нужно сделать в конструкторе, но опять же вы можете сделать это либо в SSMS, либо в конструкторе EDMX. Для наследования я в основном предпочитаю SQL в первую очередь, потому что существует явное решение относительно того, какую форму наследования вы хотите - для иерархии, для класса или для конкретного типа.

...