ASP.NET の C# MVC プロジェクトで問題が発生しています。私が抱えている問題は、カテゴリ システムにあります。1 つのカテゴリが会社に追加されている場合、既に追加されているカテゴリよりも親 (階層の上位レベル) であるカテゴリを追加することはできません (既に追加されているため)。検索に含まれます)。
これを既に使用している C# コードに追加しました。
if (companyToUpdate.Category.Any(x => x.Parent.Any(z => z.ID == currentCategoryID))) {
//already exists
}
問題は、このチェックをストアド プロシージャとして SQL Server データベースに追加したいということです。
私の構造は次のようになります。
会社(全社)
ID Title
1 StackOverflow
カテゴリー(全カテゴリー)
ID Title
1 Website
2 Helpful site
3 Very helpful site
CategoryDetails (各カテゴリの親/子を知るために使用されます。すべてのカテゴリはそのすべての親との関係を持っています) (Web サイト -> 役立つサイト -> 非常に役立つサイト)
Parent_ID Child_ID
1 2
1 3
2 3
CompanyCategoryDetails (この会社に追加されたカテゴリは?)
Company_ID Category_ID
1 3
ここで問題: 新しい行 (1, 2) を CompanyCategoryDetails に追加しようとしている場合、Category_ID 3 を既に追加しているため、CategoryDetails で指定された Category_ID 2 が既に含まれているため、拒否する必要があります。テーブル。
テーブルを内部結合する場所をチェックし始めましたが、考えていた方法では実行できないことに気付くまで、それほど時間はかかりませんでした。