Отношение многие ко многим в EF - PullRequest
1 голос
/ 28 мая 2010

У меня есть, как мне кажется, простой вопрос об EF 1.0, и я искал во всем Интернете простой ответ, но пока мне не повезло:

Мы собираемся создать небольшое приложение с SQL Server в качестве бэкэнда и рассматриваем возможность использования EF 1.0. Наша компания, как и многие крупные корпорации, не очень быстро адаптируется к новым платформам, что означает, что .NET 4.0 не будет установлен на машинах в течение долгого времени, поэтому EF 4.0 не возможен.

Вот вопрос (на очень простом примере):

Три таблицы в отношениях многих ко многим:

Заказ: OrderID (PK), Клиент, OrderDate

OrderDetails: OrderDetailID (PK), OrderID (FK), ProductID (FK), количество, задний порядок

Продукт: ProductID (PK), ProductName, Категория

То, что мы создаем, - это экземпляр Order, содержащий информацию о Order и список OrderDetails , включая ProductName

SQL для этого тривиален, поэтому я не буду утомлять вас этим. И получить заказ и список OrderDetails также легко в EF 1.0. Но когда вы получите список, ProductID идентифицирует продукт, и нам нужно ProductName.

Мы рассмотрели эту статью . Это единственный способ достичь того, что нам нужно? Похоже, большая работа ...

Спасибо за любую помощь

1 Ответ

0 голосов
/ 28 мая 2010

Экстраполируя из вашего описания, и, если вы выбираете то, что вы ищете, что-то в этом роде может работать:

var query = from o in context.Order
                             .Include("OrderDetails")
                             .Include("OrderDetails.Product")
            select o;

вы можете получить доступ к информации через свойства навигации, такие как:

// using first here just for exemple purpose.
Order o = query.First();
var details = o.OrderDetails;
var aProductName = o.OrderDetails.First().ProductName;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...