Прямо сейчас, Entity Framework действительно ограничен с точки зрения того, с какими многими отношениями он может справиться. Единственное, что может распознать дизайнер Visual Studio - это таблица, состоящая только из двух столбцов, оба внешних ключа для двух других таблиц, и где первичный ключ является составным ключом на обоих внешних ключах.
Итак, если у вас есть контроль над схемой базы данных, вы могли бы изменить таблицу Org_Building_Relation, чтобы удалить столбец Building_org_ID и сделать первичный ключ составным ключом для Org_ID и Building_ID. Если вы сделаете это, то при сопоставлении таблиц Entity Framework распознает это как отношение «многие ко многим».
Если вы не можете этого сделать (например, у вас нет контроля над схемой базы данных), вам необходимо убедиться, что единственные поля, которые вы отображаете в своем EDMX, - это поля, которые относятся к другим таблицы, и что вы не сопоставить первичный ключ. Это сложно, поскольку мастер сопоставления будет отбрасывать и заново создавать сопоставление хранилища при каждом обновлении.
Другой вариант - не использовать «правильное» отображение «многие ко многим» в Entity Framework, а вместо этого просто рассматривать отношение как другую сущность, а не включать его в отношение.
Не могу вспомнить, было ли это улучшено в предстоящем .NET 4.0.