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
- ColumnMapCopier.cs
- ClientEventManager.cs
- CompositeScriptReferenceEventArgs.cs
- ListBox.cs
- COM2ColorConverter.cs
- PaperSize.cs
- CompilerWrapper.cs
- ComponentChangingEvent.cs
- AppDomainUnloadedException.cs
- DocComment.cs
- TypeExtensionSerializer.cs
- CallbackException.cs
- SoapProcessingBehavior.cs
- securitycriticaldataformultiplegetandset.cs
- PropertyMap.cs
- DocumentPage.cs
- ConfigurationException.cs
- BindMarkupExtensionSerializer.cs
- Base64WriteStateInfo.cs
- SortKey.cs
- PackageFilter.cs
- LocatorManager.cs
- BufferedGraphics.cs
- DataGrid.cs
- PropertyGrid.cs
- WindowProviderWrapper.cs
- SQLRoleProvider.cs
- ToolBar.cs
- WindowsListViewItem.cs
- SecurityUtils.cs
- FilterableAttribute.cs
- IgnorePropertiesAttribute.cs
- ReadContentAsBinaryHelper.cs
- HeaderedItemsControl.cs
- OLEDB_Util.cs
- NavigationProperty.cs
- PtsContext.cs
- BuildDependencySet.cs
- AuthenticationService.cs
- ServiceDeploymentInfo.cs
- FormsAuthentication.cs
- SafeProcessHandle.cs
- CodeBlockBuilder.cs
- HelpProvider.cs
- InvalidWMPVersionException.cs
- ToolboxComponentsCreatingEventArgs.cs
- CategoryNameCollection.cs
- PackagingUtilities.cs
- MultipleViewPatternIdentifiers.cs
- XsltSettings.cs
- CodeAccessPermission.cs
- URLIdentityPermission.cs
- ModelTreeManager.cs
- DataSourceCacheDurationConverter.cs
- DoubleAnimationClockResource.cs
- XmlILStorageConverter.cs
- XmlQueryTypeFactory.cs
- Size.cs
- TextServicesDisplayAttributePropertyRanges.cs
- CodeParameterDeclarationExpressionCollection.cs
- ConstraintConverter.cs
- InvalidFilterCriteriaException.cs
- GenericTypeParameterBuilder.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- ConnectivityStatus.cs
- PowerModeChangedEventArgs.cs
- QuadraticBezierSegment.cs
- _SSPIWrapper.cs
- DesignerDataRelationship.cs
- SecurityCriticalDataForSet.cs
- DictionaryGlobals.cs
- SchemaImporterExtensionsSection.cs
- AvTrace.cs
- HttpStreams.cs
- NullExtension.cs
- AlignmentYValidation.cs
- HwndStylusInputProvider.cs
- LinkConverter.cs
- ResolveMatches11.cs
- ReceiveMessageAndVerifySecurityAsyncResultBase.cs
- UserPreferenceChangedEventArgs.cs
- ScrollProperties.cs
- User.cs
- processwaithandle.cs
- BindingCompleteEventArgs.cs
- XmlILStorageConverter.cs
- HTTPRemotingHandler.cs
- Matrix3DConverter.cs
- login.cs
- LogLogRecord.cs
- User.cs
- webproxy.cs
- XamlFilter.cs
- BaseValidator.cs
- HierarchicalDataBoundControl.cs
- AdapterDictionary.cs
- SystemUdpStatistics.cs
- SerializationEventsCache.cs
- ResourcePool.cs
- DynamicValidatorEventArgs.cs