我仔细研究了 StackOverflow、Google 和 asp.net,试图找到一个明确的基本示例来说明如何做到这一点。所有示例都是抽象的或涉及不适用的复杂情况。我无法从它们中提取很多有用的信息。到目前为止,他们都没有完全回答我的问题或解决我的问题。
我正在使用以下模型开发一个 MVC 项目:
文章.cs:
public class Article
{
public int ArticleId { get; set; }
public string Title { get; set; }
.
.
.
public virtual ICollection<Category> Categories { get; set; }
public Article()
{
Categories = new HashSet<Category>();
}
}
类别.cs:
public class Category
{
public int CategoryId { get; set; }
public string Name { get; set; }
public virtual ICollection<Article> Articles { get; set; }
public Category()
{
Articles = new HashSet<Article>();
}
}
文章实体.cs:
public class ArticleEntities : DbContext
{
public DbSet<Article> Articles { get; set; }
public DbSet<Category> Categories { get; set; }
}
一篇文章可以有很多分类,一个分类可以属于很多篇文章。
到目前为止,我可以保存/更新/创建除类别之外的所有文章字段。
我将它们表示为视图中的复选框。我可以将所选复选框的值获取到控制器中,但是,我每次尝试将它们与文章一起存储在数据库中都失败了。
我如何能:
1)保存编辑文章时,更新关系表中的现有关系而不创建重复项?
2)保存新文章时,在关系表中创建选择的关系?