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

Я использую 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 созданного объекта Child для идентификатора, назначенного родительскому объекту? Прямо сейчас мое решение выглядит так, что не очень красиво:

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 , но не сумел решить его, что путь.

-121--1381007- Пакетный файл прекращается после первой команды Я использую инструмент «HTML Match» для сравнения двух HTML-файлов. Поскольку мне приходится сравнивать много файлов, я создаю пакетный файл, подобный следующему. Например, я даю только пять наборов файлов. cd "C :\Program...

Я использую инструмент «HTML Match» для сравнения двух HTML-файлов. Поскольку мне приходится сравнивать много файлов, я создаю пакетный файл, подобный следующему. Например, я даю только пять наборов файлов.

cd "C:\Program Files\HTML Match"
HTMLMATCH.EXE "D:\Raj\compare1\a1.html" "D:\Raj\compare2\a1.html" "D:\Raj\compare_res\a1.html"
HTMLMATCH.EXE "D:\Raj\compare1\a2.html" "D:\Raj\compare2\a2.html" "D:\Raj\compare_res\a2.html"
HTMLMATCH.EXE "D:\Raj\compare1\a3.html" "D:\Raj\compare2\a3.html" "D:\Raj\compare_res\a3.html"
HTMLMATCH.EXE "D:\Raj\compare1\a4.html" "D:\Raj\compare2\a4.html" "D:\Raj\compare_res\a4.html"
HTMLMATCH.EXE "D:\Raj\compare1\a5.html" "D:\Raj\compare2\a5.html" "D:\Raj\compare_res\a5.html"

При выполнении этого пакетного файла в командной строке сравнивается и получается результат только в первой строке, т.е. только в «a1.html». Затем выполнение прекращается.

70
задан Peter Mortensen 7 January 2012 в 18:16
поделиться