Esempio n. 1
0
        private async Task SetUpAndLoadFromDatabase()
        {
            using (var context = new MediaMetaDatabaseContext())
            {
                // Creates and/or migrates the database if it does not exist/is not up to date.
                await context.Database.MigrateAsync();

                // Fetch metadatas from database.
                DatabaseMetaDatas = await context.GetAllMetadatasAsync();

                using (new DisposableLogger(DatabaseLog.CreateMediaDatasBegin, DatabaseLog.CreateMediaDatasEnd))
                {
                    // Turn metadatas into mediadatas.
                    foreach (var meta in DatabaseMetaDatas)
                    {
                        var mediaData = await MediaData.CreateFromMediaMetadataAsync(meta);

                        MediaDatas.Add(mediaData);
                    }
                }
            }
        }