テーブルのデザインの確認
- 「表示」メニュー → 「SQL Server オブジェクト エクスプローラー」
- 「SQL Server オブジェクト エクスプローラー」で「SQL Server」→「(localdb)\MSSQLLocalDB」→「データベース」→「Mvc〇〇〇Context」→「テーブル」→「dbo.〇〇〇」→ 右クリック「デザイナーの表示」
- テーブルのデザインが表示される。
テーブルのデータの表示
- 「dbo.〇〇〇」→ 「データの表示」
- テーブルのデータが表示される
シード(初期データ)の追加
- 「ソリューションエクスプローラー」の「Models」フォルダを右クリック → 「追加」→「新しい項目」
- 「新しい項目の追加」ダイアログで「クラス」を選択 → 名前を「SeedData.cs」にして「追加」ボタンを押下。
- 「SeedData.cs」を以下のコードに置き換えます。
using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using MvcTest.Data; using System; using System.Linq; namespace MvcTest.Models { public static class SeedData { public static void Initialize(IServiceProvider serviceProvider) { using (var context = new MvcTestContext( serviceProvider.GetRequiredService< DbContextOptions<MvcTestContext>>())) { // Look for any tests. if (context.Test.Any()) { return; // DB has been seeded } context.Test.AddRange( new Test { Title = "When Harry Met Sally", ReleaseDate = DateTime.Parse("1989-2-12"), Genre = "Romantic Comedy", Price = 7.99M }, new Test { Title = "Ghostbusters ", ReleaseDate = DateTime.Parse("1984-3-13"), Genre = "Comedy", Price = 8.99M }, new Test { Title = "Ghostbusters 2", ReleaseDate = DateTime.Parse("1986-2-23"), Genre = "Comedy", Price = 9.99M }, new Test { Title = "Rio Bravo", ReleaseDate = DateTime.Parse("1959-4-15"), Genre = "Western", Price = 3.99M } ); context.SaveChanges(); } } } }
Program.csを修正
「Program.cs」を以下のように修正する。
using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using MvcTest.Data; using MvcTest.Models; using System; namespace MvcTest { public class Program { public static void Main(string[] args) { var host = CreateHostBuilder(args).Build(); using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; try { SeedData.Initialize(services); } catch (Exception ex) { var logger = services.GetRequiredService<ILogger<Program>>(); logger.LogError(ex, "An error occurred seeding the DB."); } } host.Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); }); } }
アプリを実行する
- テーブルのデータを消す。
- アプリを実行する。
- 「https://localhost:00000/〇〇〇s」を開いて、データが表示されればOK