Entity Framework Code First und Auffüllen von join-Tabellen

Ich geübt mit EF Code First, SQL Express, und ASP.Net MVC3.

Wenn ich die erste website die richtigen Tabellen werden erzeugt, indem die FooInitializer und Student und Image aufgefüllt werden, aber für einige Grund der join-Tabelle (StudentImages) ist nicht aufgefüllt.

Was könnte das Problem sein?

Tabellen: Student, Image, und StudentImages

public class Student
{
    public int Id { get; set; }
    public string Name { get; set; }

    public virtual ICollection<Image> Images  { get; set; }
}

public class Image
{
    public int Id { get; set; }
    public string Filename { get; set; }
    public string Extension { get; set; }

    public virtual ICollection<Student> Students { get; set; }
}

public class FooInitializer : DropCreateDatabaseIfModelChanges<DBContext>
{

    protected override void Seed(DBContext context)
    {
    var students = new List<Student> {
        new Student { Id = 1, Name = "John" },
        new Student { Id = 2, Name = "Jane" }
    };

    students.ForEach(s => context.Students.Add(s));
    context.SaveChanges();


    var images = new List<Image> {
    new Image { Id = 1, Filename = "IMG_4596.JPG", Extension = ".jpg" },
        new Image { Id = 2, Filename = "IMG_4600.JPG", Extension = ".jpg" }
    };

    images.ForEach(i => context.Images.Add(i));

    students[0].Images.Add(images[0]);
    context.SaveChanges();
    }
}
Sie versuchen diese nun - Dank

InformationsquelleAutor Nicholas Murray | 2011-08-04

Schreibe einen Kommentar