Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / EntityModel / SchemaObjectModel / ReturnType.cs / 1 / ReturnType.cs
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;
namespace System.Data.EntityModel.SchemaObjectModel
{
class ReturnType : FacetEnabledSchemaElement
{
#region constructor
///
///
///
///
internal ReturnType(Function parentElement)
: base(parentElement)
{
_typeUsageBuilder = new TypeUsageBuilder(this);
}
#endregion
internal override SchemaElement Clone(SchemaElement parentElement)
{
ReturnType parameter = new ReturnType((Function)parentElement);
parameter._type = _type;
parameter.Name = this.Name;
parameter._typeUsageBuilder = this._typeUsageBuilder;
parameter._unresolvedType = this._unresolvedType;
return parameter;
}
protected override bool HandleAttribute(XmlReader reader)
{
if (base.HandleAttribute(reader))
{
return true;
}
else if (CanHandleAttribute(reader, XmlConstants.TypeElement))
{
HandleTypeAttribute(reader);
return true;
}
return false;
}
#region Private Methods
///
///
///
///
private void HandleTypeAttribute(XmlReader reader)
{
Debug.Assert(reader != null);
Debug.Assert(this._unresolvedType == null);
string type;
if (!Utils.GetString(Schema, reader, out type))
return;
if (!Utils.ValidateDottedName(Schema, reader, type))
return;
this.UnresolvedType = type;
}
#endregion
internal override void ResolveTopLevelNames()
{
Debug.Assert(!this.ParentElement.IsFunctionImport, "FunctionImports have return type as an attribute, so we should NEVER see them here");
base.ResolveTopLevelNames();
if (Schema.ResolveTypeName(this, UnresolvedType, out _type))
{
if (!(_type is ScalarType))
{
if (Schema.DataModel != SchemaDataModelOption.ProviderManifestModel)
{
AddError(ErrorCode.FunctionWithNonScalarTypeNotSupported,
EdmSchemaErrorSeverity.Error,
this,
System.Data.Entity.Strings.FunctionWithNonScalarTypeNotSupported(_type.FQName, this.FQName));
}
else
{
AddError(ErrorCode.FunctionWithNonScalarTypeNotSupported,
EdmSchemaErrorSeverity.Error,
this,
System.Data.Entity.Strings.FunctionWithNonEdmTypeNotSupported(_type.FQName, this.FQName));
}
}
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
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;
namespace System.Data.EntityModel.SchemaObjectModel
{
class ReturnType : FacetEnabledSchemaElement
{
#region constructor
///
///
///
///
internal ReturnType(Function parentElement)
: base(parentElement)
{
_typeUsageBuilder = new TypeUsageBuilder(this);
}
#endregion
internal override SchemaElement Clone(SchemaElement parentElement)
{
ReturnType parameter = new ReturnType((Function)parentElement);
parameter._type = _type;
parameter.Name = this.Name;
parameter._typeUsageBuilder = this._typeUsageBuilder;
parameter._unresolvedType = this._unresolvedType;
return parameter;
}
protected override bool HandleAttribute(XmlReader reader)
{
if (base.HandleAttribute(reader))
{
return true;
}
else if (CanHandleAttribute(reader, XmlConstants.TypeElement))
{
HandleTypeAttribute(reader);
return true;
}
return false;
}
#region Private Methods
///
///
///
///
private void HandleTypeAttribute(XmlReader reader)
{
Debug.Assert(reader != null);
Debug.Assert(this._unresolvedType == null);
string type;
if (!Utils.GetString(Schema, reader, out type))
return;
if (!Utils.ValidateDottedName(Schema, reader, type))
return;
this.UnresolvedType = type;
}
#endregion
internal override void ResolveTopLevelNames()
{
Debug.Assert(!this.ParentElement.IsFunctionImport, "FunctionImports have return type as an attribute, so we should NEVER see them here");
base.ResolveTopLevelNames();
if (Schema.ResolveTypeName(this, UnresolvedType, out _type))
{
if (!(_type is ScalarType))
{
if (Schema.DataModel != SchemaDataModelOption.ProviderManifestModel)
{
AddError(ErrorCode.FunctionWithNonScalarTypeNotSupported,
EdmSchemaErrorSeverity.Error,
this,
System.Data.Entity.Strings.FunctionWithNonScalarTypeNotSupported(_type.FQName, this.FQName));
}
else
{
AddError(ErrorCode.FunctionWithNonScalarTypeNotSupported,
EdmSchemaErrorSeverity.Error,
this,
System.Data.Entity.Strings.FunctionWithNonEdmTypeNotSupported(_type.FQName, this.FQName));
}
}
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- GetWinFXPath.cs
- FileUpload.cs
- DataGridViewCheckBoxColumn.cs
- __FastResourceComparer.cs
- TextTreeText.cs
- BookmarkScope.cs
- SoapMessage.cs
- processwaithandle.cs
- ToolstripProfessionalRenderer.cs
- CqlLexer.cs
- TreeNodeBindingCollection.cs
- WinInetCache.cs
- PanelStyle.cs
- HashCryptoHandle.cs
- TextTreeObjectNode.cs
- MarkupExtensionReturnTypeAttribute.cs
- FieldNameLookup.cs
- InitialServerConnectionReader.cs
- SubMenuStyleCollection.cs
- CodeThrowExceptionStatement.cs
- CodeTypeReferenceCollection.cs
- hresults.cs
- QueryContext.cs
- View.cs
- MetadataUtil.cs
- XmlBinaryReaderSession.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- OleDbErrorCollection.cs
- SerializableAuthorizationContext.cs
- BufferedResponseStream.cs
- DescendentsWalkerBase.cs
- FixedPageProcessor.cs
- ObjectDataSourceStatusEventArgs.cs
- FrameAutomationPeer.cs
- MeshGeometry3D.cs
- InputLanguageEventArgs.cs
- SafeSecurityHandles.cs
- util.cs
- DetailsViewModeEventArgs.cs
- IResourceProvider.cs
- Base64Encoding.cs
- DrawTreeNodeEventArgs.cs
- CommandDesigner.cs
- TextPatternIdentifiers.cs
- Matrix3D.cs
- DataGridTablesFactory.cs
- Application.cs
- ConfigurationPropertyCollection.cs
- ValueQuery.cs
- CryptoKeySecurity.cs
- IconConverter.cs
- WorkflowServiceInstance.cs
- MouseGestureValueSerializer.cs
- Variable.cs
- SpeechAudioFormatInfo.cs
- CatalogZoneBase.cs
- StringSource.cs
- TypedAsyncResult.cs
- MailAddressParser.cs
- MachineKey.cs
- ProcessHostFactoryHelper.cs
- OSEnvironmentHelper.cs
- LogArchiveSnapshot.cs
- CaseInsensitiveHashCodeProvider.cs
- PagesSection.cs
- SplitContainerDesigner.cs
- PersonalizationStateQuery.cs
- DescendantOverDescendantQuery.cs
- JavaScriptString.cs
- ShaderEffect.cs
- EventRecord.cs
- EventDescriptorCollection.cs
- DataTable.cs
- DataPagerFieldCollection.cs
- SctClaimDictionary.cs
- UIHelper.cs
- DependencyPropertyConverter.cs
- ValuePatternIdentifiers.cs
- SQLDouble.cs
- VisualStyleTypesAndProperties.cs
- InvalidPropValue.cs
- OleDbDataAdapter.cs
- CodeTypeReference.cs
- DNS.cs
- CodeDomLoader.cs
- ExpressionConverter.cs
- MLangCodePageEncoding.cs
- WindowsStatic.cs
- Token.cs
- ResourceExpressionBuilder.cs
- UrlPath.cs
- DataFormats.cs
- VersionUtil.cs
- DataGridViewRowEventArgs.cs
- MultiView.cs
- Inline.cs
- Highlights.cs
- DocumentSchemaValidator.cs
- SchemaInfo.cs
- SafeArrayTypeMismatchException.cs