From reading the other answers and various comments you’ve made, it seems you want an easier way to generate large populated datasets for integration testing that doesn’t hit the database.
NBuilder is a great open-source library that I’ve successfully used to create large amounts of test data. Simply combine NBuilder, a few basic POCO object classes, and some reflection – you’ll have plenty of huge datatables you can easily combine into datasets in no time:
public class Person
{
public string First { get; set; }
public string Last { get; set; }
public DateTime Birthday { get; set; }
}
private DataTable GenerateDataTable<T>(int rows)
{
var datatable = new DataTable(typeof(T).Name);
typeof(T).GetProperties().ToList().ForEach(
x => datatable.Columns.Add(x.Name));
Builder<T>.CreateListOfSize(rows).Build()
.ToList().ForEach(
x => datatable.LoadDataRow(x.GetType().GetProperties().Select(
y => y.GetValue(x, null)).ToArray(), true));
return datatable;
}
var dataset = new DataSet();
dataset.Tables.AddRange(new[]{
GenerateDataTable<Person>(50),
GenerateDataTable<Dog>(100)});