public TabularDataQueryOptions GetOrCreateQueryOptions(IExternalTabularDataSource tabularDataSourceInfo) { if (tabularDataSourceInfo == null) { return(null); } if (_tabularDataQueryOptionsSet.ContainsKey(tabularDataSourceInfo.EntityName)) { return(_tabularDataQueryOptionsSet[tabularDataSourceInfo.EntityName]); } var newEntry = new TabularDataQueryOptions(tabularDataSourceInfo); _tabularDataQueryOptionsSet.Add(tabularDataSourceInfo.EntityName, newEntry); return(newEntry); }
internal void Merge(TabularDataQueryOptions qo) { foreach (var select in qo.Selects) { AddSelect(select); } foreach (var entry in qo.Expands) { if (Expands.ContainsKey(entry.Key)) { MergeQueryOptions((ExpandQueryOptions)Expands[entry.Key], (ExpandQueryOptions)entry.Value); } else { AddExpand(entry.Key, (ExpandQueryOptions)entry.Value); } } }