Editted
SQL Server не позволяет иметь отношение внешнего ключа к столбцу, который не является первичным ключом или не имеет уникального ограничения (или индекса) на нем. Кажется, нет никаких ограничений на то, чтобы несколько таблиц использовали один и тот же столбец в дочерней таблице в качестве внешнего ключа. Дизайнер DBML обнаруживает эти отношения и создает ассоциации с обеими родительскими таблицами при импорте таблицы. Однако создается впечатление, что сгенерированный дизайнером код будет сгенерирован только для одной из ассоциаций. То есть дизайнер правильно показывает ассоциации, но код для всех, кроме одного, опущен. Кроме того, методы расширяемости и установщики свойств, по-видимому, также не определяются должным образом в сгенерированном дизайнером коде.
То же самое можно сказать, если вы добавляете ассоциации вручную в конструкторе. В коде реализована только одна из фактических ассоциаций, а код другого родительского класса кажется безвозвратно нарушенным. Возможно, вы сможете использовать частичные реализации классов для добавления требуемой функциональности, чтобы соответствовать тому, что сгенерирует дизайнер, но я не пробовал этого.
Кроме того, LINQ2SQL не поддерживает готовые отношения «многие ко многим». Вы ограничены 1-1 и 1-многими без написания кода самостоятельно.