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
- CompensatableSequenceActivity.cs
- Vector3DAnimation.cs
- AnchoredBlock.cs
- IODescriptionAttribute.cs
- BaseDataListPage.cs
- PrintPreviewDialog.cs
- DefaultObjectMappingItemCollection.cs
- ValueOfAction.cs
- Utils.cs
- ValidationErrorEventArgs.cs
- PathGeometry.cs
- Trace.cs
- GACMembershipCondition.cs
- BaseCodePageEncoding.cs
- AutomationPropertyInfo.cs
- FixedSOMLineCollection.cs
- KnownColorTable.cs
- ListBoxItemAutomationPeer.cs
- OleDbCommandBuilder.cs
- EntityPropertyMappingAttribute.cs
- StrokeSerializer.cs
- BaseResourcesBuildProvider.cs
- NameScope.cs
- OperationCanceledException.cs
- ToolStripOverflow.cs
- SessionPageStateSection.cs
- DataBindingList.cs
- DateRangeEvent.cs
- ResourceDisplayNameAttribute.cs
- MediaElementAutomationPeer.cs
- OletxCommittableTransaction.cs
- XmlDataLoader.cs
- ZoneButton.cs
- AuthorizationSection.cs
- Send.cs
- DataGridClipboardCellContent.cs
- Code.cs
- HtmlElementCollection.cs
- BamlCollectionHolder.cs
- PlatformCulture.cs
- PartitionedStreamMerger.cs
- ManualResetEvent.cs
- SpoolingTaskBase.cs
- GenerateScriptTypeAttribute.cs
- OleDbException.cs
- TextServicesContext.cs
- ImagingCache.cs
- AdjustableArrowCap.cs
- ComEventsMethod.cs
- X509LogoTypeExtension.cs
- Win32.cs
- FragmentQueryProcessor.cs
- ProjectionCamera.cs
- BufferBuilder.cs
- TypeElement.cs
- FixedSOMTableRow.cs
- BrowserCapabilitiesCodeGenerator.cs
- ScriptReference.cs
- DataBindingCollection.cs
- AnimationLayer.cs
- SqlDataSource.cs
- WindowsFormsHelpers.cs
- CompositeFontParser.cs
- regiisutil.cs
- NativeMethods.cs
- FrameworkElementFactory.cs
- StructuredTypeEmitter.cs
- SessionEndedEventArgs.cs
- PtsHelper.cs
- FontNamesConverter.cs
- HttpHandlerAction.cs
- ListViewItemSelectionChangedEvent.cs
- Delegate.cs
- invalidudtexception.cs
- SecurityAlgorithmSuiteConverter.cs
- CodeMemberEvent.cs
- BitmapEffectDrawing.cs
- WindowsPen.cs
- ParameterModifier.cs
- RawStylusInputCustomDataList.cs
- ListSortDescription.cs
- MenuBase.cs
- TPLETWProvider.cs
- ConstraintManager.cs
- _ContextAwareResult.cs
- validation.cs
- Tracer.cs
- dtdvalidator.cs
- RequestQueryParser.cs
- Clipboard.cs
- MaterialCollection.cs
- BitVector32.cs
- NumericExpr.cs
- AutomationAttributeInfo.cs
- KoreanLunisolarCalendar.cs
- SByte.cs
- WindowsFormsHelpers.cs
- DeferredReference.cs
- CodeIdentifier.cs
- LinqDataSourceDeleteEventArgs.cs