2009-10-15 63 views
2

我有一堆POCO,它們在一棵大樹中彼此相關。例如,這是頂級元素:用虛擬數據填充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沒有任何邏輯,只有一堆屬性。我想要做的只是填充每個屬性的隨機虛擬數據,所以我可以寫一些搜索代碼。如果我想創建大量的虛擬數據,那麼做到這一點的最佳方法是什麼?

回答

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)); 
+0

感謝您提到這個工具,我將不得不爲它付出一筆。我討厭創建測試數據,希望這會讓它少一點痛苦。 –

+0

整齊的東西。謝謝,哇! –

+0

謝謝,我正在嘗試它。讓它工作起來有些麻煩,但比寫一大堆for循環更有前途。 –

相關問題