Могу ли я объединить объект списка в коллекции .NET с объектом enity в EF - PullRequest
3 голосов
/ 11 августа 2010

Можно ли объединить объект списка в коллекции .net с объектом enity в EF, например:

   var prodts = from req in Product
               join prod in context.ProductApplications on req.ProductGUID equals prod.ProductGUID 
              slect req;

Продукт - это объект lsit.и context.ProductApplications - это объект Enity.

Могу ли я присоединиться к ним, может кто-нибудь сообщить мне, как присоединиться к ним

1 Ответ

3 голосов
/ 11 августа 2010

Вы можете сделать это, да. Альтернативный синтаксис метода-цепочки:

var prodts = Product.
             Join(
                  context.ProductApplications,
                  req => req.ProductGUID,
                  prod => prod.ProductGUID,
                  (req, prod) => req
                 );

Возвращает IEnumerable<Product>. Метод Join принимает IEnumerable<> в качестве первого параметра, поэтому на самом деле произойдет запрос к БД и будет извлечено context.ProductApplications и результаты будут перечислены. Полученный объект будет использован для "объединения" с вашей коллекцией Product.

Обновление

Согласно вашим комментариям, у вас есть GUIDs в коллекции Product(s?), и вы хотите получить все сущности из context.ProductApplications, которые "соответствуют" этим GUIDs (исправьте меня, если я ошибаюсь). Если это так, вам не нужен join.

var prodts = context.
             ProductApplications.
             Where(pa => Product.
                         Select(p => p.ProductGUID).
                         Contains(pa.ProductGUID)
                  );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...