StackOverflow、Google、asp.netを調べて、これを行う方法の基本的な例を明確に見つけようとしています。すべての例は抽象的であるか、当てはまらない複雑な問題を含んでいます。私はそれらから多くの有用なものを抽出することができませんでした。これまでのところ、それらのどれも私の質問に完全に答えたり、私の問題に対処したりしていません。
私は次のモデルでMVCプロジェクトに取り組んでいます:
Article.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>();
}
}
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>();
}
}
ArticleEntities.cs:
public class ArticleEntities : DbContext
{
public DbSet<Article> Articles { get; set; }
public DbSet<Category> Categories { get; set; }
}
記事には多くのカテゴリを含めることができ、カテゴリは多くの記事に属することができます。
これまでのところ、カテゴリを除くすべての記事フィールドを保存/更新/作成できます。
ビューのチェックボックスとしてそれらを表しています。選択したチェックボックスの値をコントローラーに取得できますが、記事とともにデータベースに保存しようとしても失敗しました。
どうすればよいですか:
1)編集した記事を保存するときに、重複を作成せずにリレーションテーブルの既存のリレーションを更新しますか?
2)新しい記事を保存するときに、リレーションテーブルに選択したリレーションを作成しますか?