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
- ButtonFieldBase.cs
- LinkedList.cs
- XmlDictionaryReaderQuotas.cs
- FtpWebResponse.cs
- DataRecordInternal.cs
- HtmlMeta.cs
- EntityClientCacheKey.cs
- SpeechUI.cs
- GradientStop.cs
- PhysicalOps.cs
- MatrixIndependentAnimationStorage.cs
- XmlDataSourceNodeDescriptor.cs
- NetCodeGroup.cs
- ClientSession.cs
- ByteFacetDescriptionElement.cs
- ZoomPercentageConverter.cs
- ImageListStreamer.cs
- ConstantSlot.cs
- BidOverLoads.cs
- DataSourceSelectArguments.cs
- InternalRelationshipCollection.cs
- ZipPackage.cs
- BinarySerializer.cs
- TypeForwardedToAttribute.cs
- COM2FontConverter.cs
- WindowsFormsSectionHandler.cs
- DataException.cs
- LayoutExceptionEventArgs.cs
- OlePropertyStructs.cs
- CroppedBitmap.cs
- Point3DKeyFrameCollection.cs
- Speller.cs
- BinaryObjectReader.cs
- ResourceDescriptionAttribute.cs
- EditorPartDesigner.cs
- URL.cs
- XamlInt32CollectionSerializer.cs
- HashJoinQueryOperatorEnumerator.cs
- TemplateInstanceAttribute.cs
- ApplicationException.cs
- PathSegment.cs
- BaseTemplateParser.cs
- ParameterCollection.cs
- TypeElement.cs
- ReflectionTypeLoadException.cs
- ColumnHeader.cs
- BaseComponentEditor.cs
- DataGridViewComboBoxEditingControl.cs
- Pkcs7Signer.cs
- DuplicateDetector.cs
- TextContainerHelper.cs
- Msec.cs
- PartialCachingControl.cs
- SingleResultAttribute.cs
- Int64AnimationUsingKeyFrames.cs
- DataViewSetting.cs
- ManagementOptions.cs
- mediapermission.cs
- SqlDataSourceView.cs
- TextTreeFixupNode.cs
- HttpClientCertificate.cs
- Mappings.cs
- ComponentCodeDomSerializer.cs
- ExceptionUtil.cs
- SqlMethodCallConverter.cs
- ReadWriteSpinLock.cs
- DataGridViewAccessibleObject.cs
- SpellerInterop.cs
- RtfFormatStack.cs
- NativeMethods.cs
- BamlResourceContent.cs
- SystemSounds.cs
- RequestDescription.cs
- HtmlInputReset.cs
- DataSourceControlBuilder.cs
- ServiceKnownTypeAttribute.cs
- LoginName.cs
- FileDialog.cs
- EpmTargetPathSegment.cs
- FixedSOMTable.cs
- InfocardInteractiveChannelInitializer.cs
- EntityEntry.cs
- Pkcs7Recipient.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- FormsAuthenticationEventArgs.cs
- Missing.cs
- SecurityTokenException.cs
- ListDataHelper.cs
- Environment.cs
- UriTemplateClientFormatter.cs
- BrowserCapabilitiesCodeGenerator.cs
- VirtualPathData.cs
- SemanticKeyElement.cs
- XmlSchemaProviderAttribute.cs
- XmlUtf8RawTextWriter.cs
- CodeSnippetCompileUnit.cs
- SendActivity.cs
- UIElementIsland.cs
- TypeForwardedToAttribute.cs
- ToolboxItemFilterAttribute.cs