Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / EntityModel / SchemaObjectModel / RowTypeElement.cs / 1305376 / RowTypeElement.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using Som = System.Data.EntityModel.SchemaObjectModel; using System; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Diagnostics; using System.Globalization; using System.Xml; using System.Xml.Schema; using System.Data; using System.IO; using System.Data.Metadata.Edm; using System.Data.Entity; using System.Text; namespace System.Data.EntityModel.SchemaObjectModel { class RowTypeElement : ModelFunctionTypeElement { private SchemaElementLookUpTable_properties = new SchemaElementLookUpTable (); #region constructor /// /// /// /// internal RowTypeElement(SchemaElement parentElement) : base(parentElement) { } protected override bool HandleElement(XmlReader reader) { if (CanHandleElement(reader, XmlConstants.Property)) { HandlePropertyElement(reader); return true; } return false; } protected void HandlePropertyElement(XmlReader reader) { Debug.Assert(reader != null); var property = new RowTypePropertyElement(this); property.Parse(reader); _properties.Add(property, true, Strings.DuplicateEntityContainerMemberName /**/); } #endregion internal override void ResolveTopLevelNames() { foreach (var property in _properties) { property.ResolveTopLevelNames(); } } internal override void WriteIdentity(StringBuilder builder) { builder.Append("Row["); bool first = true; foreach (RowTypePropertyElement property in _properties) { if (first) { first = !first; } else { builder.Append(", "); } property.WriteIdentity(builder); } builder.Append("]"); } internal override TypeUsage GetTypeUsage() { if (_typeUsage == null) { var listOfProperties = new List(); foreach (var property in _properties) { var edmProperty = new EdmProperty(property.FQName, property.GetTypeUsage()); edmProperty.AddMetadataProperties(property.OtherContent); //edmProperty.DeclaringType listOfProperties.Add(edmProperty); } RowType rowType = new RowType(listOfProperties); rowType.DataSpace = DataSpace.CSpace; rowType.AddMetadataProperties(this.OtherContent); _typeUsage = TypeUsage.Create(rowType); } return _typeUsage; } internal override bool ResolveNameAndSetTypeUsage(Converter.ConversionCache convertedItemCache, Dictionary newGlobalItems) { bool result = true; if (_typeUsage == null) { foreach (var property in _properties) { if (!property.ResolveNameAndSetTypeUsage(convertedItemCache, newGlobalItems)) { result = false; } } } return result; } internal override void Validate() { foreach (var property in _properties) { property.Validate(); } if (_properties.Count == 0) { AddError(ErrorCode.RowTypeWithoutProperty, EdmSchemaErrorSeverity.Error, Strings.RowTypeWithoutProperty); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SizeLimitedCache.cs
- HtmlTableRowCollection.cs
- DataGridItemCollection.cs
- SQLByte.cs
- QueryRewriter.cs
- TextTreeNode.cs
- CustomPopupPlacement.cs
- TryCatch.cs
- LogLogRecordHeader.cs
- HyperLinkColumn.cs
- _Events.cs
- SortDescriptionCollection.cs
- SspiNegotiationTokenProvider.cs
- AppDomainUnloadedException.cs
- TypedDataSourceCodeGenerator.cs
- DisplayMemberTemplateSelector.cs
- IndexedString.cs
- StoreItemCollection.Loader.cs
- CoreSwitches.cs
- HtmlToClrEventProxy.cs
- SqlConnection.cs
- EntityContainerEmitter.cs
- ZoneButton.cs
- UIElementIsland.cs
- TextEditorSelection.cs
- TableStyle.cs
- PageCanvasSize.cs
- String.cs
- DefaultMemberAttribute.cs
- DataGridRow.cs
- TextStore.cs
- Help.cs
- If.cs
- InputReferenceExpression.cs
- SqlDataSourceQueryConverter.cs
- ErrorTolerantObjectWriter.cs
- ClientSideQueueItem.cs
- WithStatement.cs
- XPathMultyIterator.cs
- ComContractElementCollection.cs
- HttpConfigurationContext.cs
- RoleBoolean.cs
- FunctionQuery.cs
- ItemCollection.cs
- TabRenderer.cs
- EntityConnectionStringBuilder.cs
- TextServicesContext.cs
- WebPartDescriptionCollection.cs
- DataFormats.cs
- VectorAnimation.cs
- ContentValidator.cs
- TransactionalPackage.cs
- Baml2006KnownTypes.cs
- PageContentAsyncResult.cs
- ComAdminWrapper.cs
- InvalidDataContractException.cs
- TemplateParser.cs
- LoaderAllocator.cs
- OracleTimeSpan.cs
- X509CertificateCollection.cs
- SharedUtils.cs
- _ConnectOverlappedAsyncResult.cs
- TagNameToTypeMapper.cs
- CryptoApi.cs
- StoragePropertyMapping.cs
- XmlCharCheckingWriter.cs
- LogicalExpr.cs
- CachedPathData.cs
- SqlDataSource.cs
- ObjectTag.cs
- BaseCodeDomTreeGenerator.cs
- ClientTarget.cs
- SystemWebCachingSectionGroup.cs
- SqlDependency.cs
- MessageQueuePermissionEntry.cs
- DoubleAnimationUsingKeyFrames.cs
- RemoveStoryboard.cs
- ErrorTableItemStyle.cs
- SelectionBorderGlyph.cs
- ResponseBodyWriter.cs
- CustomAttributeBuilder.cs
- SamlAuthorizationDecisionClaimResource.cs
- ExpressionBindingCollection.cs
- SqlExpander.cs
- NativeMethods.cs
- FaultException.cs
- PingOptions.cs
- DrawingGroupDrawingContext.cs
- WebColorConverter.cs
- ListItemCollection.cs
- OciHandle.cs
- AssemblyAttributesGoHere.cs
- _NestedMultipleAsyncResult.cs
- HMACSHA384.cs
- ProtocolViolationException.cs
- FeatureAttribute.cs
- TextElementEnumerator.cs
- TypeHelpers.cs
- FormParameter.cs
- AssemblyCache.cs