Линк-SQL отношение многие ко многим без третьего класса - PullRequest
3 голосов
/ 23 февраля 2011

В моей базе данных есть следующие таблицы:

  • Клиенты (ID)
  • Заказы (ID)
  • CustomersOrders (CustomerID, OrderID)

Как сопоставить таблицу Customers с классом Customers и таблицу Orders с классом Orders без создания класса CustomersOrders?

1 Ответ

5 голосов
/ 23 февраля 2011

Это зависит от того, о какой версии LINQ вы говорите.

Если вы используете Entity Framework 4.0 и у вас нет дополнительной информации в таблице, кроме идентификаторов, то то, что вы запрашиваете, уже должно быть сгенерировано. Я считаю, что то же самое верно для Entity Framework 1.0.

LINQ to SQL - это другая история. Он никогда не справлялся с отношениями многие ко многим. Вы должны позволить LINQ to SQL сгенерировать третью таблицу, а затем вручную расширить частичные классы в отдельном файле, чтобы скрыть эту третью таблицу. Это некрасиво, но это работает. Вот серия постов в блоге, которые подробно описывают, что нужно сделать:

Как реализовать отношение «многие ко многим» с использованием Linq to SQL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...