我正在使用的域模型有很多循环引用。实际上,可以从图中的任何点获取大多数对象。许多这些循环引用也在集合中。因此,Booking
将包含Students
的集合,其集合Courses
具有Bookings
的集合,依此类推。这不是真正的模型,只是一个例子。问题是由大约30个不同类别的组合引起的。
要使用此模型,我正在配置和使用AutoFixture,如此
var fixture = new Fixture().Customize(new MultipleCustomization());
fixture.Behaviors.Remove(new ThrowingRecursionBehavior());
fixture.Behaviors.Add(new OmitOnRecursionBehavior());
var booking = fixture.CreateAnonymous<Booking>();
这会导致AutoFixture运行大约20分钟,直到它最终因OutOfMemoryException而失败。
这个模型是否要求AutoFixture创建一个永无止境的无限图?如果是这样,我有什么方法可以配置它来限制图的深度吗?