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
- TextBoxAutomationPeer.cs
- XmlSerializerFaultFormatter.cs
- InfiniteIntConverter.cs
- MissingMethodException.cs
- WrappingXamlSchemaContext.cs
- SmtpReplyReader.cs
- InstancePersistenceCommandException.cs
- JoinQueryOperator.cs
- TextBoxDesigner.cs
- Msec.cs
- ValueExpressions.cs
- TaskScheduler.cs
- Underline.cs
- HwndHostAutomationPeer.cs
- SqlBooleanMismatchVisitor.cs
- storepermission.cs
- XmlElementAttributes.cs
- SqlFacetAttribute.cs
- OleDbRowUpdatedEvent.cs
- FreezableOperations.cs
- HttpWrapper.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- StrongNameMembershipCondition.cs
- PtsPage.cs
- WebPartVerb.cs
- HttpHandlerActionCollection.cs
- PublisherIdentityPermission.cs
- XmlMtomWriter.cs
- ValueQuery.cs
- FilteredDataSetHelper.cs
- GlyphRunDrawing.cs
- ChannelDispatcher.cs
- ModifiableIteratorCollection.cs
- TableDesigner.cs
- PeerToPeerException.cs
- Int32.cs
- DeadCharTextComposition.cs
- SortedSet.cs
- WsdlInspector.cs
- HeaderedContentControl.cs
- TypedRowHandler.cs
- TextTreeObjectNode.cs
- DesignerAutoFormatCollection.cs
- Button.cs
- TextBoxDesigner.cs
- WindowsBrush.cs
- Rotation3DAnimationUsingKeyFrames.cs
- TabRenderer.cs
- VisualStyleTypesAndProperties.cs
- AmbiguousMatchException.cs
- Message.cs
- DbDeleteCommandTree.cs
- RegexWorker.cs
- ProviderBase.cs
- ImageCodecInfo.cs
- CompiledAction.cs
- IISUnsafeMethods.cs
- DataPagerField.cs
- oledbmetadatacollectionnames.cs
- Label.cs
- SHA1.cs
- TlsSspiNegotiation.cs
- InputBinder.cs
- TickBar.cs
- ObjectListSelectEventArgs.cs
- PkcsUtils.cs
- UnsafeNativeMethods.cs
- EntityViewGenerationAttribute.cs
- BindStream.cs
- DataGridHeaderBorder.cs
- PartEditor.cs
- GeneralTransform3DGroup.cs
- UnionCodeGroup.cs
- CodeAssignStatement.cs
- SqlRecordBuffer.cs
- FixedSOMImage.cs
- WebBrowsableAttribute.cs
- ClientType.cs
- NameValueConfigurationCollection.cs
- WebPartCatalogAddVerb.cs
- DynamicResourceExtension.cs
- ButtonFlatAdapter.cs
- UserPreferenceChangingEventArgs.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- ListItemsPage.cs
- DbConnectionOptions.cs
- ActivityInfo.cs
- WpfGeneratedKnownProperties.cs
- PhysicalFontFamily.cs
- XmlQueryStaticData.cs
- UnknownBitmapDecoder.cs
- DiagnosticsConfiguration.cs
- GifBitmapDecoder.cs
- CodeTypeConstructor.cs
- CompiledRegexRunnerFactory.cs
- AudioDeviceOut.cs
- SyntaxCheck.cs
- UrlAuthFailedErrorFormatter.cs
- control.ime.cs
- ClientTargetSection.cs