DataServiceProvider.DSPMetadata.Clone C# (CSharp) Method

Clone() public method

public Clone ( ) : object
return object
        public object Clone()
        {
            var dspMetadata = new DSPMetadata(this.containerName, this.namespaceName);

            var emptyResourceTypes = this.resourceTypes.Where(x =>
                x.Value.ResourceTypeKind == ResourceTypeKind.ComplexType &&
                !x.Value.Properties.Any());
            foreach (var resourceType in emptyResourceTypes)
            {
                AddPrimitiveProperty(resourceType.Value, "empty_content", typeof(byte[]));
            }

            foreach (var resourceType in this.resourceTypes)
            {
                dspMetadata.resourceTypes.Add(resourceType.Key, resourceType.Value.Clone());
            }
            foreach (var resourceSet in this.resourceSets)
            {
                dspMetadata.resourceSets.Add(resourceSet.Key, resourceSet.Value.Clone(dspMetadata.resourceTypes));
            }

            return dspMetadata;
        }