private void SeedFiles(FileUploadSystemDbContext context) { FileManipulator.GenerateStorage(); if (context.Files.Any()) { return; } var sampleData = this.GetSampleFiles("Cats"); var admin = context.Users.Where(u => u.UserName == "Administrator").FirstOrDefault(); AddFilesToUser(context, sampleData, admin); var dir = new DirectoryEntity { Name = "Directory Test", LocationId = -1, Owner = admin, OwnerId = admin.Id }; admin.Files.Add(dir); context.SaveChanges(); var innerDirectory = new DirectoryEntity { Name = "Inner Directory Test", LocationId = dir.Id, Owner = admin, OwnerId = admin.Id }; dir.FilesContained.Add(innerDirectory); context.SaveChanges(); var someFileAgain = new BinaryFile { Name = "someFileAgain" + Path.GetExtension(sampleData[0]), LocationId = innerDirectory.Id, Owner = admin, OwnerId = admin.Id, Size = new FileInfo(sampleData[0]).Length, Type = Path.GetExtension(sampleData[0]) }; innerDirectory.FilesContained.Add(someFileAgain); context.SaveChanges(); FileManipulator.UploadFile(sampleData[0], someFileAgain.Id, Path.GetExtension(sampleData[0])); var anotherUSer = context.Users.Where(u => u.UserName == "AnotherUser").FirstOrDefault(); var dogs = this.GetSampleFiles("Dogs"); AddFilesToUser(context, dogs, anotherUSer); context.SaveChanges(); }