У меня есть DTO, в котором есть коллекция другого DTO, которую я заполняю на стороне сервера и отправляю клиенту.Однако эта внутренняя коллекция DTO не возвращается клиенту.
Я считаю, что мне нужно использовать атрибуты [Include] и [Association], чтобы службы RIA WCF знали, что делать, однако моя проблема с этимнет никакой реальной связи между основным DTO и внутренним набором DTO, я просто использую его для агрегирования данных из различных источников для возврата клиенту.
Неужели мое понимание неверно в том, что я пытаюсьдобиться, если нет, как получить WCF RIA для отправки этой внутренней коллекции DTO.
Я должен добавить, что я использую automapper и хочу добиться этого с помощью такого.
Вот пример,Я хочу отправить обратно клиенту одним фрагментом;
- Компетенции, которыми обладает сотрудник.
- Компетенции, которые требуются сотруднику для его работы.
- Разница между 1 и 2.
public class CompetencyRequirementsDto
{
[Key]
public string CompanyId { get; set; }
[Key]
public string EmployeeNo { get; set; }
public string JobId { get; set; }
[Include]
[Association("EmployeeCompetencies","CompanyId, EmployeeNo","CompanyId, EmployeeNo")]
public IList<EmployeeCompetencyDto> EmployeeCompetencies { get; set; }
[Include]
[Association("JobCompetencies","JobId, CompanyId","JobId, CompanyId")]
public IList<JobCompetencyDto> JobCompetencies { get; set; }
[Include]
[Association("CompetencyGap", "JobId, CompanyId", "JobId, CompanyId")]
public IList<JobCompetencyDto> CompetencyGap { get; set; }
} }
Теперь пункт 1 работает нормально, а 2 и 3 - нет?Я обнаружил, что мой DTO создается нормально на стороне сервера, но когда он попадает к клиенту, CompetencyGap (даже если у него нет значений) были заданы значения JobCompetencies.