ASP.NET MVC3 - Entity Framework: отношение «многие ко многим» (новости и категории) - PullRequest
0 голосов
/ 31 октября 2011

Я хочу создавать категории для новостей.Это будет отношение многих ко многим.Как это сделать правильно?Я создал два класса:

public class News
{
    public News()
    {
        this.NewsCategories = new List<NewsCategory>();
    }
    public int ID { get; set; }
    public DateTime Date { get; set; }
    public string Title { get; set; }  
    public string Text { get; set; }
    public IEnumerable<NewsCategory> NewsCategories { get; set; }
}

public class NewsCategory
{
    public NewsCategory()
    {
        this.News = new List<News>();
    }
    public int ID { get; set; }
    public string Name { get; set; }
    public IEnumerable<News> News { get; set; }
}

Но EF создает только две таблицы ... без таблицы Join.Я также создал собственный DbInitializer:

public class TouristGuideDBInitializer : DropCreateDatabaseAlways<TouristGuideDB>
{
    protected override void Seed(TouristGuideDB context)
    {
        base.Seed(context);
        context.NewsCategories.Add(new NewsCategory { Name = "Default" });
        context.NewsCategories.Add(new NewsCategory { Name = "Second" });
        context.News.Add(new News { Date = DateTime.Now, Text = "asasdfas fasdfa sdf asf asf", Title = "Hello world" });
        context.SaveChanges();
        var news = context.News.First();            
        var cat = context.NewsCategories.Where(r => r.Name == "Default").Single();            
        news.NewsCategories.ToList().Add(cat);
        context.SaveChanges();
    }
}

Но он просто добавляет одну новость и две категории ... без отношений ... Как это должно быть сделано правильно (отношения)?

1 Ответ

1 голос
/ 31 октября 2011

Вам необходимо использовать ICollection<T> для свойств навигации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...