Следующий LINQ:
retval = ( from jm in entities.JobMasters
where jm.UserId == userId && jm.IsRemote == false
select new JobDto
{
JobMasterId = jm.JobMasterId,
ExternalTaskId = jm.ExternalTaskId,
JobDetails = ( from jd in entities.JobDetails
where jd.JobMasterId == jm.JobMasterId
select new JobDetailDto { ScreenFieldId = jd.ScreenFieldId, FieldValue = jd.FieldValue }
).ToList()
}
).ToList();
выдает мне эту ошибку:
LINQ to Entities не работает распознают метод 'System.Collections.Generic.List`1 [KernWcfTest.DataTransferObjects.JobDetailDto] ToList [JobDetailDto] (System.Collections.Generic.IEnumerable`1 [KernWcfTestjects.Data ]) ', , и этот метод не может быть преобразован в выражение хранилища.
Вот два класса dto:
[DataContract]
public class JobDetailDto
{
[DataMember]
public int ScreenFieldId { get; set; }
[DataMember]
public string FieldValue { get; set; }
}
[DataContract]
[KnownType(typeof(JobDetailDto))]
public class JobDto
{
[DataMember]
public int JobMasterId { get; set; }
[DataMember]
public string ExternalTaskId { get; set; }
[DataMember]
public List<JobDetailDto> JobDetails { get; set; }
}
Проблема заключается в подвыборке и списке JobDetails. Я попытался добавить Известный Типа но не вышло.
Все это отлично работает в LINQ Pad.
Есть идеи?
Ура
Стив