Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------------- // // 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
- NumericUpDown.cs
- OracleRowUpdatingEventArgs.cs
- SchemaManager.cs
- _Connection.cs
- DataGridViewMethods.cs
- MonthCalendarDesigner.cs
- TextAction.cs
- CodeDirectiveCollection.cs
- DataGridViewCellStyle.cs
- ModelTreeEnumerator.cs
- SeekableReadStream.cs
- TextServicesLoader.cs
- BaseCodeDomTreeGenerator.cs
- SecurityTokenSerializer.cs
- ObjectDataSource.cs
- PeerNameRecordCollection.cs
- EdmSchemaError.cs
- MethodBuilder.cs
- PrivilegeNotHeldException.cs
- TrayIconDesigner.cs
- TdsParameterSetter.cs
- Timeline.cs
- MenuItem.cs
- _KerberosClient.cs
- QuaternionIndependentAnimationStorage.cs
- AssociationTypeEmitter.cs
- ReadWriteSpinLock.cs
- EntityDataSourceConfigureObjectContext.cs
- CodeParameterDeclarationExpression.cs
- TextDecoration.cs
- DBAsyncResult.cs
- StreamGeometryContext.cs
- TextTreeTextNode.cs
- ScriptIgnoreAttribute.cs
- XsltSettings.cs
- ListViewGroupItemCollection.cs
- ToolStripItem.cs
- ObjectListComponentEditor.cs
- UnlockInstanceCommand.cs
- ObjectQuery.cs
- ContentValidator.cs
- AstTree.cs
- SemanticAnalyzer.cs
- wgx_sdk_version.cs
- InputScopeConverter.cs
- XmlExceptionHelper.cs
- AdRotator.cs
- ImageSourceTypeConverter.cs
- NavigationExpr.cs
- HtmlFormParameterReader.cs
- DBConcurrencyException.cs
- DesignTimeVisibleAttribute.cs
- StateItem.cs
- TextTreeTextElementNode.cs
- RealizationDrawingContextWalker.cs
- HuffModule.cs
- PageParser.cs
- ActivityWithResult.cs
- WindowsImpersonationContext.cs
- OdbcDataAdapter.cs
- DocumentViewerHelper.cs
- SafeProcessHandle.cs
- GPRECTF.cs
- TimerEventSubscription.cs
- DataSetFieldSchema.cs
- Converter.cs
- Canonicalizers.cs
- BasicKeyConstraint.cs
- Floater.cs
- CapabilitiesAssignment.cs
- OciHandle.cs
- ProfileSettingsCollection.cs
- Transform3D.cs
- _DigestClient.cs
- KeyTime.cs
- PageParserFilter.cs
- UserNameSecurityTokenParameters.cs
- EmbeddedMailObject.cs
- TaskHelper.cs
- ThreadAbortException.cs
- PackageFilter.cs
- WpfXamlMember.cs
- MsmqReceiveHelper.cs
- KeyValueInternalCollection.cs
- ComplexObject.cs
- BuildProviderCollection.cs
- MsmqIntegrationValidationBehavior.cs
- StringPropertyBuilder.cs
- XhtmlBasicImageAdapter.cs
- FixedPageProcessor.cs
- ProfileServiceManager.cs
- LinkClickEvent.cs
- HTTPNotFoundHandler.cs
- GroupBox.cs
- WebBrowserEvent.cs
- ItemDragEvent.cs
- FactoryGenerator.cs
- Translator.cs
- FormCollection.cs
- Environment.cs