Хорошо, после просмотра кода в комментариях я могу предложить следующее: Заменить string CategoryID
на Статье на public virtual ICollection<Category> Categories { get; set; }
, чтобы EF создала внешний ключ.Затем, чтобы получить статьи, относящиеся к определенной категории, вы можете использовать код, подобный следующему:
var articlesInCategory = context.Articles
.Where(x => x.Language == Thread.CurrentThread.CurrentCulture.Name)
.Where(x => x.Approved && x.Categories.Any(c => c.CategoryID == c1.CategoryID)).ToList();
А когда вы хотите создавать новые статьи, вы должны использовать что-то вроде:
var c1 = context.Categories.OrderBy(c => c.Title).First();
var c2 = context.Categories.OrderBy(c => c.Title).Skip(1).First();
context.Articles.Add(new Article { Categories = new Collection<Category> { c1, c2 } });
context.SaveChanges();