EF LINQ Query - многие ко многим - PullRequest
       1

EF LINQ Query - многие ко многим

0 голосов
/ 07 августа 2011

Мне нужна помощь для получения данных из запроса EF 4.1.

У меня есть таблица Products и таблица Categories, которые имеют отношение «многие ко многим».

Мне нужно выбрать товар по идентификатору и включить в него категории, с которыми он связан.

Я придумал это:

    Public Function GetProductByID(ID As Integer) As Core.Entities.Product Implements Core.Interfaces.IProductService.GetProductByID
        Dim p = ProductRepository.Query.Single(Function(x) x.ID = ID)
        p.Categories = CategoryRepository.Query.Where(Function(x) x.Products.Any(Function(y) y.ID = ID)).ToList

        Return p

    End Function

Я уверен, что есть лучший способ!

1 Ответ

2 голосов
/ 07 августа 2011

Почему бы не использовать Include(), если у вас есть свойство Categories в вашей Product сущности? (Синтаксис C #):

var p = ProductRepository.Include(x=> x.Categories)
                         .Single(x => x.ID == ID);

Также см. Загрузка связанных объектов

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