Использование значения родительского свойства при создании сложного ребенка в автозависимости

Я использую Autofixture для генерации данных для структуры, связанной с родительским объектом и сложными дочерним объектами, как это:

public class Parent
{
    public int Id { get; set; }
    public string Name { get; set; }
    public Child[] Children { get; set; }
}

public class Child
{
    public string Name { get; set; }
    public int ParentId { get; set; }
}

Есть ли способ автоматически установить свойство ParentiD из генерируемых ребенка объекта к идентификатору, назначенному родителю? Прямо сейчас мое решение выглядит так, что не очень красиво:

var parent = fixture.Build<Parent>().Without(p => p.Children).CreateAnonymous();
parent.Children = fixture.CreateMany<Child>(10).ToArray();

foreach (var i in parent.Children)
{
    i.ParentId = parent.Id;
}

Это чувствует, что есть лучший способ сделать это, что мне не хватает? Я посмотрел на создание пользовательского IspecimenBuilder , но не удалось либо решить это таким образом.

8
задан Niklas Söderberg 6 September 2011 в 12:32
поделиться