MySQL и Entity Framework 4.0 - внешние ключи - PullRequest
0 голосов
/ 13 сентября 2011

При создании модели из базы данных в VS2010 я получаю свои таблицы как сущности, но проблема в том, что внешние ключи не создаются.

Я боролся с этим уже несколько дней и просто не могу понять, что это правильно. (У меня хороший опыт работы с MSSQL Server, но клиент хочет MySQL)

Я использую MySQL 5.1 и MySQL Workbench 5.2 для создания своих баз данных и таблиц. Я использую движок InnoDB для всех своих таблиц, так как я читаю, что он поддерживает внешние ключи.

Далее я попробовал использовать MySQL Connector 6.4.3 (я думаю, что это последний, не уверен), dotConnect для MySQL, MySQL ODBC Connector 3. * с VS2010 sp1.

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

Это очень неприятно, так как я устанавливаю MySQL Connector (более ранние версии, например, 6.3. *), А затем удаляю его, потому что в новом блоге говорится, что следующая версия поддерживает EF (O.O) ... А потом выясняется, что я до сих пор не получил свои внешние ключи.

Может ли кто-нибудь пожалуйста пролить свет на это? (Я был бы очень признателен.)

1 Ответ

1 голос
/ 14 сентября 2011

После 2 недель борьбы мне удалось сделать все правильно.

Видите, я предполагал, что если вы создадите отношения внешнего ключа в EER MySQL, таблицы получат сгенерированные внешние ключи (хотя теперь у меня естьподозрение, что это получают только таблицы в модели, а не сами таблицы базы данных).Вы должны сами создать внешние ключи для таблиц (в отличие от MSSQL Server) ...

В этом и заключалась проблема.Хотя сейчас отсортировано.

...