Как я должен засеять данные во многих отношениях в Entity Framework Code вначале 5.0 - программирование

Как я должен засеять данные во многих отношениях в Entity Framework Code вначале 5.0

У меня есть первые шаги в EF 5.0 У меня много отношений. Фильм может иметь несколько типов и типов, которые могут иметь несколько фильмов

public class Movie
{
    public int MovieId { get; set; }
    [Required]
    public string Name { get; set; }

    public virtual ICollection<Type> Types { get; set; }
}


public class Type
{
    public int TypeId { get; set; }
    public string MovieType { get; set; }

    public virtual ICollection<Movie> Movies { get; set; }
}

Когда я сгенерировал базу данных, он создает много-много между Movie и тип

Итак, что я должен сделать, чтобы засеять эту таблицу множеством? Я попробовал много решений, размещенных здесь, но это не сработало.

Кроме того, это лучший способ генерации отношения "многие ко многим" с использованием первого кода EF

4b9b3361

Ответ 1

Просто создайте несколько фильмов и несколько типов и создайте отношения, добавив некоторые из этих типов в коллекцию Movie.Types (или наоборот), например:

protected override void Seed(MyContext context)
{
    var movie1 = new Movie { Name = "A", Types = new List<Type>() };
    var movie2 = new Movie { Name = "B", Types = new List<Type>() };
    var movie3 = new Movie { Name = "C", Types = new List<Type>() };

    var type1 = new Type { MovieType = "X" };
    var type2 = new Type { MovieType = "Y" };

    movie1.Types.Add(type1);

    movie2.Types.Add(type1);
    movie2.Types.Add(type2);

    movie3.Types.Add(type2);

    context.Movies.Add(movie1);
    context.Movies.Add(movie2);
    context.Movies.Add(movie3);
}