1

カテゴリをロードしますが、常にnullの親があります。指定されたIDで階層カテゴリを取得したい。

public static Category GetCategory(System.Guid ID, ActionLinkInfo AInfo)
        {
            Category category = null;

            using (TIKSN.STOZE.Data.StozeContext DContext = new Data.StozeContext())
            {
                var cats = from cat in DContext.Categories where cat.ID == ID select cat;

                foreach (Data.Category Cat in cats)
                {
                    category = new Category(Cat, Cat.Parent == null ? null : GetCategory(Cat.Parent.ID, AInfo), AInfo);
                }
            }

            return category;
        }
4

2 に答える 2

1

これを試して:

var cats = from cat in DContext.Categories.Include("Parent") where cat.ID == ID select cat;

または、モデルを変更して、クラスParentIDに整数として含めることができます。Category

public class Category {

    /* (...) */

    public int ParentID { get; set; }

    [ForeignKey("ParentID")]
    public Category Parent { get; set; }
}

これにより、データベースからオブジェクトCat.ParentID全体をロードせずに取得できます。Parent

于 2012-12-31T07:34:33.617 に答える