用虚拟数据填充POCO的最佳方法是什么?

时间:2009-10-15 21:33:25

标签: asp.net-mvc mocking poco stub

我有一堆POCO,它们都在一棵大树上相互关联。例如,这是顶级元素:

public class Incident : Entity<Incident>
{
    public virtual string Name { get; set; }
    public virtual DateTime Date { get; set; }
    public virtual IEnumerable<Site> Sites { get; set; }

    public Incident()
    {
        Sites = new HashSet<Site>();
    }
}

树就像Incident -> Sites -> Assessments -> Subsites -> Images。 POCO没有任何逻辑,只是一堆属性。我想要做的就是用随机虚拟数据填充每个属性,这样我就可以编写一些搜索代码。如果我想创建大量虚拟数据,最好的方法是什么?

1 个答案:

答案 0 :(得分:7)

我会考虑使用NBuilder。它允许您这样做 - 使用非常简单的语法为对象创建随机数据。例如:

var products = Builder<Product>.CreateListOfSize(100)
                    .WhereTheFirst(5)
                         .Have(x=>x.Title = "something")
                    .AndTheNext(95)
                         .Have(x => x.Price = generator.Next(0, 10));