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
- ToolStripOverflowButton.cs
- TextDecorationCollection.cs
- SpecialFolderEnumConverter.cs
- MenuItem.cs
- XmlQueryContext.cs
- FontFamily.cs
- RemotingAttributes.cs
- BindingBase.cs
- ProcessHostConfigUtils.cs
- HttpPostLocalhostServerProtocol.cs
- ColorKeyFrameCollection.cs
- PermissionListSet.cs
- SparseMemoryStream.cs
- IntranetCredentialPolicy.cs
- StylusEditingBehavior.cs
- DataGridPageChangedEventArgs.cs
- WrappedIUnknown.cs
- ComponentEvent.cs
- QilParameter.cs
- GenericTypeParameterBuilder.cs
- TemplateAction.cs
- WindowsSlider.cs
- ProviderConnectionPointCollection.cs
- XmlFormatExtensionAttribute.cs
- WindowCollection.cs
- IdentitySection.cs
- XAMLParseException.cs
- ReferencedType.cs
- XmlUrlResolver.cs
- DocumentApplication.cs
- ConfigurationSettings.cs
- ObjectStateFormatter.cs
- DocumentViewerHelper.cs
- BaseDataList.cs
- ParameterBuilder.cs
- Cursor.cs
- CompilerScope.cs
- EntryPointNotFoundException.cs
- NamedPermissionSet.cs
- InvalidPropValue.cs
- StorageTypeMapping.cs
- WorkflowQueuingService.cs
- CommandHelpers.cs
- DataConnectionHelper.cs
- DeclaredTypeElement.cs
- ItemChangedEventArgs.cs
- CodePageEncoding.cs
- RolePrincipal.cs
- ArrayList.cs
- ValueProviderWrapper.cs
- LambdaCompiler.cs
- TextEditorLists.cs
- SimpleExpression.cs
- Update.cs
- FilteredReadOnlyMetadataCollection.cs
- columnmapkeybuilder.cs
- EventMappingSettings.cs
- UIElementIsland.cs
- SHA256Managed.cs
- Int64AnimationBase.cs
- DiscoveryClientRequestChannel.cs
- DesignTimeTemplateParser.cs
- TypeSemantics.cs
- AlternateView.cs
- XhtmlTextWriter.cs
- Rect3D.cs
- HtmlTableRowCollection.cs
- DataObjectEventArgs.cs
- PenThread.cs
- SqlBuffer.cs
- FixedPageStructure.cs
- VariantWrapper.cs
- BuildResultCache.cs
- ComponentConverter.cs
- TaiwanCalendar.cs
- AutomationIdentifierGuids.cs
- GACMembershipCondition.cs
- ForwardPositionQuery.cs
- ZipFileInfo.cs
- DropDownButton.cs
- AdPostCacheSubstitution.cs
- StandardToolWindows.cs
- SerializationEventsCache.cs
- AdapterUtil.cs
- RunWorkerCompletedEventArgs.cs
- InternalControlCollection.cs
- TypeSystemProvider.cs
- CommandEventArgs.cs
- TrackingConditionCollection.cs
- EntityDataSourceState.cs
- XamlFilter.cs
- DataFormats.cs
- UrlRoutingModule.cs
- FileReservationCollection.cs
- LineMetrics.cs
- PageRequestManager.cs
- Section.cs
- CodeTypeParameter.cs
- httpstaticobjectscollection.cs
- ChildChangedEventArgs.cs