示例#1
0
        public SubsetList CreateSubsets(IEnumerable <SubResult> subResults)
        {
            SubsetList result = new SubsetList();

            if (subResults == null)
            {
                return(result);
            }

            foreach (SubResult subResult in subResults)
            {
                DbSetInfo dbSetInfo = _metadata.DbSets[subResult.dbSetName];

                if (result.Any(r => r.dbSetName == subResult.dbSetName))
                {
                    throw new DomainServiceException(string.Format("The included sub results already have DbSet {0} entities", dbSetInfo.dbSetName));
                }

                RowGenerator rowGenerator = new RowGenerator(dbSetInfo, subResult.Result, _dataHelper);

                Subset current = new Subset
                {
                    dbSetName = dbSetInfo.dbSetName,
                    rows      = rowGenerator.CreateDistinctRows(),
                    names     = dbSetInfo.GetNames()
                };

                result.Add(current);
            }

            return(result);
        }
        public SubsetList CreateSubsets(IEnumerable <SubResult> subResults)
        {
            var result = new SubsetList();

            if (subResults == null)
            {
                return(result);
            }
            var metadata = MetadataHelper.GetInitializedMetadata(_domainService);

            foreach (var subResult in subResults)
            {
                var dbSetInfo = metadata.dbSets[subResult.dbSetName];
                if (result.Any(r => r.dbSetName == subResult.dbSetName))
                {
                    throw new DomainServiceException(string.Format("The included results already have {0} entities", dbSetInfo.dbSetName));
                }
                var rowGenerator = new RowGenerator(dbSetInfo, subResult.Result, _dataHelper);
                var current      = new Subset
                {
                    dbSetName = dbSetInfo.dbSetName,
                    rows      = rowGenerator.CreateDistinctRows(),
                    names     = dbSetInfo.GetNames()
                };
                result.Add(current);
            }
            return(result);
        }