Вот моя модель
public class Movie
{
public int MovieID { get; set; }
public int GenreID { get; set; }
[Required, StringLength(200)]
public string Title { get; set; }
public int MovieLength { get; set; }
[Required, StringLength(1000)]
public string MovieSummary { get; set; }
public virtual Genre Genre { get; set; }
}
public class Genre
{
public int GenreID { get; set; }
public string GenreName { get; set; }
public virtual IEnumerable<Movie> Movies { get; set; }
}
public class ZimelleShopDbContext : DbContext
{
public DbSet<Movie> Movies { get; set; }
public DbSet<Genre> Genres { get; set; }
}
ScottGu написал Учебное пособие , в котором показано, как заполнять таблицу. Я хотел бы знать, как заполнить приведенный выше пример в случае этих двух таблиц в отношении «один ко многим».
Спасибо за помощь
EDIT
Я сделал это наоборот, и это сработало. Единственное, о чем я должен был позаботиться, - создать экземпляр ICollection.
public class Genre
{
public Genre()
{
Movies = new List<Movie>();
}
//...
}
Тогда я сделал это
protected override void Seed(ZimelleShopDbContext context)
{
var genre = new Genre { GenreName = "Foo" };
var movie = new Movie { Title = "Bar", MovieSummary = "Baz" };
genre.Movies.Add(movie);
context.Genres.Add(genre);
context.SaveChanges();
}
Это все еще работает.