The output of a run of the SDG is, by design, random. However, there are use cases that can benefit from having a set of stable records between multiple runs of the SDG. For example, when producing data sets for demo purposes, it can be nice to have a stable set of students to which you can always refer during demos. The SDG supports these cases with a concept known as seed data.

Seed records don't actually match 100% between runs of the SDG, but the student will look generally the same. The following attributes will stay the same when generating new data using seed records:

Note that other outputs will all be random, though items influenced by the student's performance index (e.g., grades, discipline, attendance) should look substantially the same.

Producing Seed Data

Seed data can be produced by running the SDG in Seed Data mode (see Running the SDG for more details). You'll need to also provide a path for the Seed file so the SDG knows where to store these records:

EdFi.SampleDataGenerator.Console.exe -c C:\Ed-Fi\Samples\SampleDataGenerator\SampleConfig.xml -d C:\Ed-Fi\Samples\SampleDataGenerator\DataFiles\ -o C:\Temp\SDG\Output\ -m Seed -s C:\Temp\SDG\SeedRecords.txt

Seed data generation is a distinct output mode of the SDG. When run in seed output mode, the SDG will generate and output the random seed data but will not output the standard XML output files. Only the seed record file will be produced.

The data will still be produced in accordance with the input data provided in both the XML configuration and CSV input files. For example, the number of seed records produced will be directly controlled by the TotalStudents setting in the GradeProfile XML configuration element(s).

Using Seed Data

Once seed data has been produced, it may be injected into output when the SDG is run in Standard output mode. All seed records will be included in the output and are matched by grade and school ID.

In order to successfully map Seed records into your output, your set of input schools and grade levels MUST match those that were defined when your seed records were generated.

In order to have the SDG include your seed records in your output, all you need is to run in Standard output mode and provide the path to your seed record file.

EdFi.SampleDataGenerator.Console.exe -c C:\Ed-Fi\Samples\SampleDataGenerator\SampleConfig.xml -d C:\Ed-Fi\Samples\SampleDataGenerator\DataFiles\ -o C:\Temp\SDG\Output\ -s C:\Temp\SDG\SeedRecords.txt