Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- SafeHandle.cs
- TreeNodeBindingDepthConverter.cs
- XmlObjectSerializerContext.cs
- PropertyValueUIItem.cs
- OptimisticConcurrencyException.cs
- Converter.cs
- UserPreferenceChangedEventArgs.cs
- DataGridToolTip.cs
- ToolStripMenuItemCodeDomSerializer.cs
- XmlSchemaGroup.cs
- BitArray.cs
- HttpPostedFile.cs
- DeclarativeConditionsCollection.cs
- DoubleConverter.cs
- BulletedListEventArgs.cs
- GroupBox.cs
- MsmqHostedTransportManager.cs
- ReadOnlyObservableCollection.cs
- DependencyPropertyAttribute.cs
- HostingEnvironmentException.cs
- AnimationException.cs
- DisposableCollectionWrapper.cs
- AttributeQuery.cs
- AuthenticatedStream.cs
- Context.cs
- VisualStyleInformation.cs
- CultureInfoConverter.cs
- connectionpool.cs
- DecimalAnimationUsingKeyFrames.cs
- ListViewTableRow.cs
- WorkflowMarkupSerializationManager.cs
- FrameworkTemplate.cs
- HttpWebResponse.cs
- HttpHandlerActionCollection.cs
- FormsAuthentication.cs
- InfoCard.cs
- StorageBasedPackageProperties.cs
- _OSSOCK.cs
- ProfileBuildProvider.cs
- HiddenField.cs
- OdbcDataAdapter.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- PeerInputChannelListener.cs
- Timeline.cs
- ByteArrayHelperWithString.cs
- HttpModuleAction.cs
- EndpointAddressProcessor.cs
- AppDomainUnloadedException.cs
- PropertyEmitter.cs
- ConfigUtil.cs
- PersistenceTypeAttribute.cs
- ContextMenu.cs
- BaseServiceProvider.cs
- StorageBasedPackageProperties.cs
- Point.cs
- ControlEvent.cs
- ExtendedPropertyCollection.cs
- DesignBindingConverter.cs
- DataGridViewComboBoxColumnDesigner.cs
- FrugalList.cs
- wgx_sdk_version.cs
- RepeatBehavior.cs
- XmlWriterTraceListener.cs
- ObjectParameterCollection.cs
- CharacterBuffer.cs
- UnsafeNativeMethods.cs
- PtsHelper.cs
- AdornerLayer.cs
- FileSystemWatcher.cs
- RootProfilePropertySettingsCollection.cs
- PathStreamGeometryContext.cs
- DataObjectEventArgs.cs
- UnknownBitmapEncoder.cs
- TypefaceMetricsCache.cs
- FamilyTypefaceCollection.cs
- DataGridViewRowPostPaintEventArgs.cs
- KeyValueInternalCollection.cs
- IdnElement.cs
- RangeBase.cs
- Focus.cs
- UnsafeNativeMethods.cs
- TagPrefixAttribute.cs
- NoneExcludedImageIndexConverter.cs
- CurrentChangedEventManager.cs
- InternalConfigEventArgs.cs
- SendKeys.cs
- WriterOutput.cs
- TTSEngineProxy.cs
- CqlErrorHelper.cs
- FixedTextSelectionProcessor.cs
- DrawingBrush.cs
- Crc32Helper.cs
- Site.cs
- ConnectionsZoneAutoFormat.cs
- ProfileInfo.cs
- ContractSearchPattern.cs
- SQLSingle.cs
- LocatorGroup.cs
- FixedDSBuilder.cs
- FlowDocumentScrollViewerAutomationPeer.cs