0
これはLINQ-to-SQLです。LINQクエリによってStackOverflow例外が作成されます
私は階層の関係SiteCategories
を歩いて、そこにいくつのレベルがあるかを見てみようとしています。
int numLevels = 1;
//I tried setting this to new[] { parentID }.AsQueryable();
//but linq didn't like it
IQueryable<int> nextBatchOfParents = _catalogdb.SiteCategories
.Where(c => c.SiteCategoryId == parentID)
.Select(c => c.SiteCategoryId);
while ((nextBatchOfParents = _catalogdb.SiteCategoryRelationships
.Where(rel => nextBatchOfParents.Any(x => x == rel.ChildSiteCategoryId))
.Select(rel => rel.ParentSiteCategoryId)).Any())
++numLevels;
残念ながら、ループの最初の反復でStackOverflow例外が発生します。私は、これらのクエリのほとんどまたはすべてをより早く実現することによって、私がこの道を覗き込むことができると推測していますが、これを修正するより良い方法があることを期待しています。
ありがとうございます。何らかの理由であなたがそれを書くのを見て私が必要なものです。私は今、馬鹿だと感じる。 –
問題はない、いつも起こる。 – McKay