Создание AssociationSetMapping для MySQL с помощью Entity Framework Designer? - PullRequest
0 голосов
/ 09 сентября 2010

Я пытаюсь построить модель Entity Framework для моей схемы базы данных, используя EF4 и Visual Studio 2010. Поскольку я застрял с использованием MySQL в качестве нашей базы данных (на данный момент), я довольно быстро обнаружил, что, поскольку таблицы MYISAM не поддерживают сторонниеключевые ограничения, дизайнер не может автоматически создать все ассоциации для вас.Достаточно просто пройтись по модели и собрать их все вручную, но я столкнулся с проблемой, пытаясь отобразить чистую таблицу соединений.

Обычно, если вы используете SQL Server или другую базу данных, которая поддерживает внешние ключидизайнер создаст все сопоставления для вас, а в случае таблиц чистого соединения создаст AssociationSetMapping так, что таблица соединения полностью скрыта в модели.Вместо этого вы получите отображение «многие ко многим» между двумя первичными объектами.

Однако я не знаю, как создать такой вид карт вручную?Если я создаю связь «многие ко многим» между двумя моими сущностями, я получаю обычную ассоциацию, а не AssociationSetMapping.Кажется, нет способа создать один из них в конструкторе, чем я могу понять, и сказать ему, какая таблица соединений должна использоваться на уровне базы данных.

Я что-то упустил,и есть способ сделать это?

Если нет, то я полагаю, что мне нужно взломать XML напрямую, но на данный момент не ясно, что мне нужно добавить в файлы XML и где, чтобывручную создать сопоставление набора ассоциаций?

1 Ответ

0 голосов
/ 10 сентября 2010

Хорошо, я могу ответить на этот вопрос сам.Создав ассоциацию «многие ко многим» с конструктором, вы НЕ устанавливаете на нее референтное ограничение, а используете окно «Сведения о отображении», чтобы сообщить ассоциации, какая таблица является таблицей соединения, и какие ключи соответствуют каким полям в поле.база данных.Достаточно просто, как только я понял это :) Но я не смог найти хорошую документацию по этому вопросу.

...