Как я должен засеять данные во многих отношениях в 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
Ответы
Ответ 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);
}