Я думаю, что что-то упустил, но я пытаюсь сделать следующее:
У меня есть две базы данных, представленные в моем коде C #. Один является дочерним по отношению к другому, поэтому дочерний элемент содержит поле, которое должно ссылаться на идентификатор родителя.
Родительский класс следующий
public class Product
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public decimal Price { get; set; }
public decimal DeliveryPrice { get; set; }
}
Дочерний класс выглядит следующим образом:
public class ProductOption
{
public Guid Id { get; set; }
public Guid ProductId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
Я создал список случайных «родителей» как таковой:
var products = fixture.CreateMany<Product>(5).ToList();
Затем я хотел создать 10 дочерних объектов и случайным образом дать им ProductId
из списка продуктов, созданных AutoFixture. Итак, я попробовал это:
var rand = new Random();
var options = fixture.Build<ProductOption>()
.With(option => option.ProductId, products[rand.Next(0, 5)].Id)
.CreateMany(10)
.ToList();
Это почти сработало, но я обнаружил, что все ProductId
были одинаковыми, так что, очевидно, он когда-либо попадал rand.Next
только один раз.
То, что я делаю, вообще возможно / желательно?