ValueInjecter — объединяет несколько наборов результатов в 1 коллекцию LINQ?

Как использовать ValueInjecter с соединением LINQ, которое объединяет несколько наборов результатов? Например, этот код вводит значения result в объект CombinedResult, но я также хочу, чтобы некоторые значения errorsAndWarning помещались в CombinedResult. Свойства имеют одинаковое имя:

var combined = from result in results.DeferredItems
               join errorsAndWarning in errorsAndWarnings.DeferredItems
                on result.MeetingID equals errorsAndWarning.MeetingID
               select new CombinedResult().InjectFrom(result) as CombinedResult;

Спасибо.


person Saxman    schedule 13.04.2012    source источник


Ответы (1)


Использовать это:

var combined = from result in results.DeferredItems
               join errorsAndWarning in errorsAndWarnings.DeferredItems
                on result.MeetingID equals errorsAndWarning.MeetingID
               select new CombinedResult().InjectFrom(result)
                                          .InjectFrom(errorsAndWarning)
                                          as CombinedResult;
person Daniel Hilgarth    schedule 13.04.2012
comment
эй, Даниэль, почему это не работает с источником данных IQueryable? есть ли способ внутреннего соединения двух таблиц и сопоставления с моделью представления? спасибо - person dfang; 16.08.2012
comment
@dfang: не работает - это не описание ошибки. В чем проблема с вашим кодом? - person Daniel Hilgarth; 16.08.2012
comment
LINQ to Entities не распознает метод «System.Object InjectFrom(System.Object, System.Object[])», и этот метод нельзя преобразовать в выражение хранилища. см. мой вопрос здесь: stackoverflow.com/questions/11988573, спасибо! - person dfang; 16.08.2012