学海无涯

导航

向数据库中添加种子数据

在Models目录下添加SeedData类

 1 using Microsoft.EntityFrameworkCore;
 2 using MvcMovie.Data;
 3 
 4 namespace MvcMovie.Models
 5 {
 6     public static class SeedData
 7     {
 8         public static void Initialize(IServiceProvider serviceProvider)
 9         {
10             using(var context=new MvcMovieContext(serviceProvider.GetRequiredService<DbContextOptions<MvcMovieContext>>()))
11             {
12                 if(context.Movie.Any())
13                 {
14                     return;//Movie表已经有数据了
15                 }
16                 context.Movie.AddRange(
17                new Movie
18                {
19                    Title = "When Harry Met Sally",
20                    ReleaseDate = DateTime.Parse("1989-2-12"),
21                    Genre = "Romantic Comedy",
22                    Price = 7.99M
23                },
24                new Movie
25                {
26                    Title = "Ghostbusters ",
27                    ReleaseDate = DateTime.Parse("1984-3-13"),
28                    Genre = "Comedy",
29                    Price = 8.99M
30                },
31                new Movie
32                {
33                    Title = "Ghostbusters 2",
34                    ReleaseDate = DateTime.Parse("1986-2-23"),
35                    Genre = "Comedy",
36                    Price = 9.99M
37                },
38                new Movie
39                {
40                    Title = "Rio Bravo",
41                    ReleaseDate = DateTime.Parse("1959-4-15"),
42                    Genre = "Western",
43                    Price = 3.99M
44                }
45            );
46                 context.SaveChanges();
47             }
48         }
49     }
50 }

在Program中添加以下代码:

var app = builder.Build();
using (var scope = app.Services.CreateScope())
{//向数据库添加种子数据
    var services = scope.ServiceProvider;
    SeedData.Initialize(services);
}

 

posted on 2023-02-10 10:16  宁静致远.  阅读(28)  评论(0编辑  收藏  举报