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
- HyperLink.cs
- PathFigureCollectionConverter.cs
- NTAccount.cs
- ManipulationInertiaStartingEventArgs.cs
- DataSourceListEditor.cs
- XmlUtil.cs
- SqlRewriteScalarSubqueries.cs
- Opcode.cs
- ConnectionStringsSection.cs
- SpecialNameAttribute.cs
- CommandBinding.cs
- DebugControllerThread.cs
- WeakEventManager.cs
- smtppermission.cs
- ButtonFieldBase.cs
- RandomNumberGenerator.cs
- XmlTextWriter.cs
- TextRangeEdit.cs
- PrintDialog.cs
- _Rfc2616CacheValidators.cs
- CompositeCollectionView.cs
- DSASignatureDeformatter.cs
- XmlAtomicValue.cs
- EncodingDataItem.cs
- ReadOnlyCollectionBase.cs
- DefaultValidator.cs
- KeyProperty.cs
- AttachedAnnotation.cs
- CustomAttributeSerializer.cs
- IpcManager.cs
- TextEditorThreadLocalStore.cs
- ASCIIEncoding.cs
- HttpProfileBase.cs
- PropertyToken.cs
- Floater.cs
- ISCIIEncoding.cs
- PropertyFilter.cs
- Hash.cs
- MessageSecurityVersionConverter.cs
- AstTree.cs
- KeyEvent.cs
- OleDbError.cs
- OdbcUtils.cs
- HandlerFactoryCache.cs
- XhtmlBasicPanelAdapter.cs
- RawStylusInput.cs
- SqlConnectionFactory.cs
- Int32KeyFrameCollection.cs
- SerializationObjectManager.cs
- ContainerControl.cs
- ProfileParameter.cs
- TraceSource.cs
- ObjectStateEntry.cs
- RuleSetBrowserDialog.cs
- FixedSOMGroup.cs
- DeferredTextReference.cs
- DynamicDataExtensions.cs
- GridLengthConverter.cs
- SystemGatewayIPAddressInformation.cs
- IndicCharClassifier.cs
- LateBoundBitmapDecoder.cs
- TextEditorTables.cs
- SmtpFailedRecipientException.cs
- RolePrincipal.cs
- SynchronizedInputPattern.cs
- CreatingCookieEventArgs.cs
- ToolStripItemTextRenderEventArgs.cs
- ResourceDisplayNameAttribute.cs
- BinaryKeyIdentifierClause.cs
- TileBrush.cs
- RawStylusActions.cs
- DataGridViewCellStyleEditor.cs
- DrawingServices.cs
- ConfigurationLocation.cs
- DataPagerFieldCollection.cs
- DataRelation.cs
- DataControlExtensions.cs
- HMACMD5.cs
- securitycriticaldata.cs
- Axis.cs
- ContextProperty.cs
- HtmlTableRow.cs
- DataBinder.cs
- FrugalMap.cs
- _NetRes.cs
- PaintEvent.cs
- TreeViewImageIndexConverter.cs
- ComplexTypeEmitter.cs
- CorrelationResolver.cs
- DataGridrowEditEndingEventArgs.cs
- GraphicsContainer.cs
- Point3D.cs
- XmlSchemaObject.cs
- TextTreeText.cs
- QualificationDataItem.cs
- HtmlElementErrorEventArgs.cs
- InProcStateClientManager.cs
- SkipStoryboardToFill.cs
- CompositeActivityCodeGenerator.cs
- Point.cs