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
- WebBrowserPermission.cs
- OdbcInfoMessageEvent.cs
- PassportIdentity.cs
- WebPartsPersonalizationAuthorization.cs
- KeyInterop.cs
- JapaneseLunisolarCalendar.cs
- ControlEvent.cs
- SqlDependencyListener.cs
- XmlNamespaceManager.cs
- ExpandedWrapper.cs
- XmlCollation.cs
- ProxyWebPart.cs
- SiteMapNodeCollection.cs
- WCFModelStrings.Designer.cs
- StringSource.cs
- SchemaDeclBase.cs
- HttpInputStream.cs
- RegexReplacement.cs
- TextEffectCollection.cs
- ProcessHostMapPath.cs
- SqlVisitor.cs
- DllNotFoundException.cs
- VirtualStackFrame.cs
- ConfigurationLockCollection.cs
- HttpConfigurationContext.cs
- ObjRef.cs
- _UriSyntax.cs
- AuthenticationModuleElement.cs
- TableLayoutSettings.cs
- DataTableExtensions.cs
- DbParameterHelper.cs
- EllipseGeometry.cs
- RouteUrlExpressionBuilder.cs
- QilTargetType.cs
- BoundField.cs
- LinqDataSourceDeleteEventArgs.cs
- RawStylusActions.cs
- CancellationScope.cs
- SQLGuid.cs
- XhtmlCssHandler.cs
- AccessViolationException.cs
- SiteMembershipCondition.cs
- TranslateTransform3D.cs
- MatrixKeyFrameCollection.cs
- KeyValueInternalCollection.cs
- CachingHintValidation.cs
- FrameworkObject.cs
- ChangePasswordAutoFormat.cs
- HttpRuntime.cs
- DeferredReference.cs
- MsmqIntegrationBindingCollectionElement.cs
- EncodingStreamWrapper.cs
- EncryptedData.cs
- RepeaterCommandEventArgs.cs
- IUnknownConstantAttribute.cs
- HitTestFilterBehavior.cs
- CqlLexerHelpers.cs
- PartialClassGenerationTask.cs
- SyndicationPerson.cs
- DesignerVerbCollection.cs
- ButtonBaseAdapter.cs
- ZoomPercentageConverter.cs
- DispatcherExceptionFilterEventArgs.cs
- TableRow.cs
- BuildProviderAppliesToAttribute.cs
- DateTimeFormat.cs
- WindowsIdentity.cs
- SecurityUtils.cs
- XmlEntity.cs
- BackStopAuthenticationModule.cs
- BulletedListDesigner.cs
- SQLStringStorage.cs
- SiteMapHierarchicalDataSourceView.cs
- TreeViewItemAutomationPeer.cs
- Visual3DCollection.cs
- DeviceContexts.cs
- InArgument.cs
- FixedElement.cs
- ParseHttpDate.cs
- PropertyItemInternal.cs
- SpnegoTokenAuthenticator.cs
- TaskbarItemInfo.cs
- DataPagerFieldCommandEventArgs.cs
- _TLSstream.cs
- DefinitionProperties.cs
- WebBrowserEvent.cs
- FormsAuthenticationModule.cs
- ExtensibleClassFactory.cs
- IProvider.cs
- AssemblyBuilder.cs
- RuleProcessor.cs
- HtmlInputButton.cs
- IndexerReference.cs
- QilExpression.cs
- SHA512.cs
- QueueProcessor.cs
- WindowsScroll.cs
- XmlSchemaProviderAttribute.cs
- DataServiceKeyAttribute.cs
- MobileCategoryAttribute.cs