示例#1
0
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity <Movie>().HasKey(m => m.Uri);
            modelBuilder.Entity <Planet>().HasKey(p => p.Uri);
            modelBuilder.Entity <MoviePlanet>().HasKey(mp =>
                                                       new
            {
                mp.MovieUri,
                mp.PlanetUri
            });

            var remoteMovies = new MovieApiRepository().GetAllMovies();

            modelBuilder.Entity <Movie>().HasData(remoteMovies.ToArray());
            foreach (var remoteMovie in remoteMovies)
            {
                remoteMovie.PlanetUris.ForEach(planet =>
                {
                    modelBuilder.Entity <MoviePlanet>().HasData(new MoviePlanet()
                    {
                        MovieUri  = remoteMovie.Uri,
                        PlanetUri = planet
                    });
                });
            }
            var remotePlanets = new PlanetApiRepository().GetAllPlanets();

            modelBuilder.Entity <Planet>().HasData(remotePlanets.ToArray());

            modelBuilder.Entity <Movie>().Ignore(movie => movie.PlanetUris);
            modelBuilder.Entity <Planet>().Ignore(planet => planet.MovieUris);
        }
 public void SetUp()
 {
     _repo = new MovieApiRepository();
 }