Пример #1
0
        private void BuildNavigationPaths()
        {
            var path = new List <List <Type> >();

            for (int entity = 0; entity < Entities.Count; entity++)
            {
                var row = new List <Type>();
                row.Add(Entities[entity]);
                var referrals = NavigationRelations[entity].Where(e => !row.Contains(e)).ToList();
                foreach (var referral in referrals)
                {
                    row.Add(referral);
                    path.Absorb(row);
                    row.Remove(referral);
                }
            }
        }