LINQ - объединение двух объектов в один сложный тип IQueryable - EF4 и ASP.Net MVC - PullRequest
0 голосов
/ 03 июля 2010

У меня есть такой код:

 var entityX = this._xService.GetAll();
 var entityY = this._yService.GetAll();

Оба возвращаются как IEnumerable типы. Мне нужно внутренне объединить их в нечто вроде класса JoinedList, который должен быть IQueryable.

Я ищу способы сделать это, используя LINQ.

Большое спасибо

1 Ответ

2 голосов
/ 03 июля 2010

LINQ to Objects - отличный клей:

var entityX = this._xService.GetAll();
var entityY = this._yService.GetAll();
var joinedSequence = from x in entityX
                     join y in entityY on x.Key equals y.Key
                     select new { x, y };
var joinedQueryable = joinedSequence.AsQueryable();

На самом деле не нужно последний шаг;IQueryable<T> не требуется, поскольку LINQ to Objects прекрасно работает с IEnumerable<T>.

...