private static void SeedMedia(MediaContext context, IChecksumService checksumService, string storageConnectionString, Guid mediaId, Guid mediaVersionId, string mediaUrl) { if (!context.MediaItems.Any(x => x.Id == mediaId)) { var container = new BlobContainerClient(storageConnectionString, MediaConstants.General.ContainerName); container.CreateIfNotExists(); var blob = container.GetBlobClient($"{mediaVersionId}{Path.GetExtension(mediaUrl)}"); using (var stream = new MemoryStream(File.ReadAllBytes(mediaUrl))) { if (!blob.Exists()) { blob.Upload(stream); } var mediaItem = new MediaItem { Id = mediaId, IsProtected = false }; context.MediaItems.Add(mediaItem.FillCommonProperties()); var mediaItemVersion = new MediaItemVersion { Id = mediaVersionId, MediaItemId = mediaId, Checksum = checksumService.GetMd5(stream), Filename = Path.GetFileNameWithoutExtension(mediaUrl), Extension = Path.GetExtension(mediaUrl), Folder = MediaConstants.General.ContainerName, MimeType = MimeUtility.GetMimeMapping(Path.GetExtension(mediaUrl)), Size = blob.GetProperties().Value.ContentLength, CreatedBy = "system", Version = 1 }; context.MediaItemVersions.Add(mediaItemVersion.FillCommonProperties()); context.SaveChanges(); } } }