Я пытаюсь настроить проект POCO RIA Silverlight. Когда служба домена возвращает данные, отсутствуют данные.
Ниже я включил классы Parent / Child и мою службу домена. Он должен вернуть список из 5 родительских объектов, каждый из которых содержит 3 дочерних объекта. Я считаю, что настроил службу домена для правильного возврата дерева объектов, которое я желаю.
Служба домена возвращает 5 родительских объектов. Первый родительский объект правильно содержит 3 дочерних объекта.
Однако все последующие родительские объекты не содержат дочерних объектов. Я делаю что-то не так.
Я нашел несколько ресурсов, которые могли бы помочь, и, кажется, я следую их предписанным методам безрезультатно.
Ссылка 1
Ссылка 2
Если кто-то может указать, что я делаю неправильно, я был бы очень признателен.
public class Parent
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
private List<Child> _children = new List<Child>();
[Include]
[Association("ParentChildRelation", "Id", "ParentId")]
[Composition]
public List<Child> Children
{
get { return _children; }
}
}
public class Child
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
private int _parentId;
public int ParentId { get { return _parentId; } }
private Parent _parent;
[Association("ParentChildRelation", "ParentId", "Id", IsForeignKey = true)]
public Parent Parent { get { return _parent; } set { _parent = value; _parentId = value.Id; } }
}
[EnableClientAccess()]
public class PocoDomainService : DomainService
{
public List<Parent> GetParents()
{
var list = new List<Parent>();
list.AddRange(from p in Enumerable.Range(1, 5)
select (new Parent()
{
Name = "Parent " + p.ToString(),
Id = p
}));
foreach (var p in list)
{
p.Children.AddRange(from c in Enumerable.Range(1, 3)
select (new Child()
{
Id = c,
Name = "Child " + c.ToString() + " From " + p.Name,
Parent = p
}));
}
return list;
}
}