私はCategory
オブジェクトのコレクションを生成する再帰関数を構築しました。再帰的カテゴリ生成コードを扱う際のトラブル
[ChildActionOnly]
public ActionResult FindAllCategorias()
{
var categoriasDb = _categoriaRepository.FindAllCategorias().Where(s => s.CategoriaPadreId == null);
List<CategoriaModel> model = new List<CategoriaModel>();
foreach (var categoria in categoriasDb)
{
model.Add(new CategoriaModel()
{
CategoriaId = categoria.CategoriaId,
Nombre = categoria.Nombre,
Encabezado = categoria.Encabezado
});
}
foreach (var categoriaModel in model)
{
categoriaModel.Subcategorias = FindSubcategoriesForCategory(categoriaModel.CategoriaId);
}
return PartialView(model);
}
private List<CategoriaModel> FindSubcategoriesForCategory(int id)
{
var subcategorias = _categoriaRepository.FindAllCategorias().Where(c => c.CategoriaPadreId == id);
List<CategoriaModel> subcategoriasModel = new List<CategoriaModel>();
foreach (var subcategoria in subcategorias)
{
subcategoriasModel.Add(new CategoriaModel()
{
CategoriaId = subcategoria.CategoriaId,
Nombre = subcategoria.Nombre,
Encabezado = subcategoria.Encabezado,
Subcategorias = FindSubcategoriesForCategory(subcategoria.CategoriaId)
});
}
return subcategoriasModel;
}
ここで私の選択したテンプレートの各カテゴリを吐き出す再帰を使用する方法を提案しますか?私はどのようにビューでこれのような何かにはわからない。
ありがとうございました。 :)もう1ビット、私はSQLの男ではない、私は取得するだけで十分に知っている。再帰的な外部キースキーマを使用する場合と、ネストされたセットを使用する場合のパフォーマンスの差はどれくらいですか?ありがとう! –