Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / EntityModel / SchemaObjectModel / ReferenceTypeElement.cs / 1305376 / ReferenceTypeElement.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 ReferenceTypeElement : ModelFunctionTypeElement { #region constructor ////// /// /// internal ReferenceTypeElement(SchemaElement parentElement) : base(parentElement) { } #endregion protected override bool HandleAttribute(XmlReader reader) { if (base.HandleAttribute(reader)) { return true; } else if (CanHandleAttribute(reader, XmlConstants.TypeElement)) { HandleTypeElementAttribute(reader); return true; } return false; } protected void HandleTypeElementAttribute(XmlReader reader) { Debug.Assert(reader != null); string type; if (!Utils.GetString(Schema, reader, out type)) return; _unresolvedType = type; } internal override void WriteIdentity(StringBuilder builder) { Debug.Assert(UnresolvedType != null && !UnresolvedType.Trim().Equals(String.Empty)); builder.Append("Ref(" + UnresolvedType + ")"); } internal override TypeUsage GetTypeUsage() { return _typeUsage; } internal override bool ResolveNameAndSetTypeUsage(Converter.ConversionCache convertedItemCache, DictionarynewGlobalItems) { if (_typeUsage == null) { Debug.Assert(!(_type is ScalarType)); EdmType edmType = (EdmType)Converter.LoadSchemaElement(_type, _type.Schema.ProviderManifest, convertedItemCache, newGlobalItems); EntityType entityType = edmType as EntityType; Debug.Assert(entityType != null); RefType refType = new RefType(entityType); refType.AddMetadataProperties(this.OtherContent); _typeUsage = TypeUsage.Create(refType); } return true; } internal override void Validate() { base.Validate(); if (_type != null && !(_type is SchemaEntityType)) { //Ref type refers to non entity type AddError(ErrorCode.ReferenceToNonEntityType, EdmSchemaErrorSeverity.Error, Strings.ReferenceToNonEntityType(_type.FQName)); } } } } // 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
- AutoCompleteStringCollection.cs
- ProjectionPruner.cs
- QueryOutputWriter.cs
- DictionaryBase.cs
- Utils.cs
- RevocationPoint.cs
- RepeaterCommandEventArgs.cs
- CustomPopupPlacement.cs
- FontResourceCache.cs
- ResourceManagerWrapper.cs
- CubicEase.cs
- MultipleViewPattern.cs
- Style.cs
- SqlLiftWhereClauses.cs
- _SecureChannel.cs
- SharedStatics.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- EventPrivateKey.cs
- StateWorkerRequest.cs
- HttpCachePolicy.cs
- TableLayoutPanelCodeDomSerializer.cs
- WebBrowserBase.cs
- XmlAttributeProperties.cs
- MaterialCollection.cs
- SqlAliasesReferenced.cs
- DataPagerFieldCollection.cs
- VSDExceptions.cs
- ListControlBoundActionList.cs
- XmlIlVisitor.cs
- ConversionHelper.cs
- Columns.cs
- RadioButtonBaseAdapter.cs
- TraceData.cs
- CreateRefExpr.cs
- XmlFormatExtensionPointAttribute.cs
- AppDomainAttributes.cs
- DataGridCell.cs
- DbgUtil.cs
- X509Utils.cs
- _ProxyRegBlob.cs
- XpsDigitalSignature.cs
- MobileControl.cs
- NonBatchDirectoryCompiler.cs
- CombinedTcpChannel.cs
- Glyph.cs
- ParameterModifier.cs
- DataControlPagerLinkButton.cs
- SimpleLine.cs
- DataSourceView.cs
- CommentEmitter.cs
- ActiveDocumentEvent.cs
- LazyLoadBehavior.cs
- Style.cs
- LogicalMethodInfo.cs
- EntityDataSourceStatementEditor.cs
- HTMLTextWriter.cs
- DbConnectionPoolCounters.cs
- Int32RectValueSerializer.cs
- DataServiceHost.cs
- SchemaSetCompiler.cs
- ControlBuilderAttribute.cs
- InternalControlCollection.cs
- AnnotationStore.cs
- WindowsStartMenu.cs
- StylusButton.cs
- CommandLibraryHelper.cs
- XmlnsCache.cs
- StubHelpers.cs
- WebConfigurationManager.cs
- GeneralTransform3DGroup.cs
- InputReportEventArgs.cs
- HttpPostClientProtocol.cs
- SmiMetaData.cs
- MessageHeaderException.cs
- Int64Converter.cs
- BinHexEncoder.cs
- OdbcException.cs
- MarkupWriter.cs
- ExtractedStateEntry.cs
- DebugHandleTracker.cs
- XmlSerializer.cs
- StringResourceManager.cs
- ByteAnimationBase.cs
- HostProtectionPermission.cs
- SQLByteStorage.cs
- MsmqTransportSecurityElement.cs
- DependentTransaction.cs
- AddInSegmentDirectoryNotFoundException.cs
- SessionEndedEventArgs.cs
- FolderBrowserDialog.cs
- CommandBinding.cs
- CodeSnippetCompileUnit.cs
- DataGridViewCellParsingEventArgs.cs
- ScriptReference.cs
- SpecialFolderEnumConverter.cs
- SafeNativeMethodsMilCoreApi.cs
- Section.cs
- WindowsIPAddress.cs
- UnaryOperationBinder.cs
- ReferenceService.cs