Ejemplo n.º 1
0
        private void AddJoin(JoinBuilder <TEntity> joinBuilder)
        {
            if (joinBuilder == null || _joinBuilders.Any(q => q.Specification == joinBuilder.Specification))
            {
                return;
            }

            _joinBuilders.Add(joinBuilder);
        }
Ejemplo n.º 2
0
        private IEnumerable <JoinBuilder <TEntity> > ConcatUniqueJoins(params JoinBuilder <TEntity>[][] joins)
        {
            IEnumerable <JoinBuilder <TEntity> > result = new JoinBuilder <TEntity> [0];

            foreach (var joinArray in joins)
            {
                if (joinArray == null || joinArray.Length < 1)
                {
                    continue;
                }
                result = result.Concat(joinArray);
            }
            return(result
                   .GroupBy(join => join.Specification)
                   .Select(joinGroup => joinGroup.First())
                   .ToArray());
        }