private static void ScanFolder(string path, MediaManager.MvcViewModels.MediaManagerContext context, Collection <string> extensions) { foreach (var file in Directory.GetFiles(path)) { string extension = Path.GetExtension(file).Replace(".", string.Empty); if (extensions.Contains(extension)) { Console.WriteLine("Adding " + file); var fi = new FileInfo(file); var mf = new MediaFile { FileName = fi.Name, Folder = fi.DirectoryName, SizeInBytes = fi.Length, CreatedTimestamp = fi.CreationTime, ModifiedTimestamp = fi.LastWriteTime }; mf.ExamineForMetadata(); context.MediaFiles.Add(mf); context.SaveChanges(); } else { Console.WriteLine("Skipping " + file); } } foreach (var folder in Directory.GetDirectories(path)) { ScanFolder(folder, context, extensions); } }