L'une de mes entités possède une propriété EntitySet <> avec les attributs [Composition], [Inclure] et [Association]. Je peuple cette collection dans mon service de domaine mais quand je vérifie son contenu quand il est reçu sur le client, la collection est vide. J'utilise Silverlight 4 RTM ainsi que RTM RIA Services 1.0.La collection est vide lorsqu'elle arrive sur le client
Des idées de ce que je fais mal?
Voici le code de mon côté service:
public class RegionDto
{
public RegionDto()
{
Cities = new EntitySet<CityDto>();
}
[Key]
public int Id { get; set; }
public string Name { get; set; }
[Include]
[Composition]
[Association("RegionDto_CityDto", "Id", "RegionId")]
public EntitySet<CityDto> Cities { get; set; }
}
public class CityDto
{
[Key]
public int Id { get; set; }
public int RegionId { get; set; }
public string Name { get; set; }
}
[EnableClientAccess()]
public class RegionDomainService : LinqToEntitiesDomainService<RegionEntities>
{
public IEnumerable<RegionDto> GetRegions()
{
var regions = (ObjectContext.Regions
.Select(x => new RegionDto
{
Id = x.ID,
Name = x.Name
})).ToList();
foreach (var region in regions)
{
var cities = (ObjectContext.Cities
.Where(x => x.RegionID == region.Id)
.Select(x => new CityDto
{
Id = x.ID,
Name = x.Name
})).ToList();
foreach (var city in cities)
{
region.Cities.Add(city);
}
}
// each region's Cities collection is populated at this point
// however when the client receives it, the Cities collections are all empty
return regions;
}
}