次のように定義された自己結合テーブルにマップするPOCOクラスがあります。
CREATE TABLE [dbo].[GalleryCategories](
[CategoryID] [int] IDENTITY(0,1) NOT NULL PRIMARY KEY CLUSTERED,
[Name] [nvarchar](256) NOT NULL,
[ParentID] [int] NULL REFERENCES [dbo].[GalleryCategories] ([CategoryID]) ON DELETE NO ACTION ON UPDATE NO ACTION,
)
モデルビルダーを使用して子から親を参照する関係を定義する方法があることを私は知っています...(たとえば、このように)
しかし、私がマップしようとしているクラスは次のようになります...
public class GalleryCategory
{
[Key]
public int CategoryID { get; set; }
public string Name { get; set; }
public int? ParentID { get; set; }
public List<Category> Subcategories { get; set; }
}
言い換えると、サブカテゴリにすべての子を設定しようとしています。つまり、階層を上ではなく、階層を下に移動します。
EFを使用してこれを行う方法はありますか?これはどこかのFAQであるに違いありませんが、1時間グーグルした後、私はそれを見つけることができませんでした:-)