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
- Parameter.cs
- ImageAnimator.cs
- CurrentTimeZone.cs
- glyphs.cs
- GeometryModel3D.cs
- ToolStripDropDownClosedEventArgs.cs
- StrongNameIdentityPermission.cs
- DrawingBrush.cs
- Typography.cs
- TreeViewDesigner.cs
- QilVisitor.cs
- ListBox.cs
- ProxyRpc.cs
- TextRunCacheImp.cs
- ServiceOperation.cs
- HttpApplication.cs
- ToolStripCodeDomSerializer.cs
- ComNativeDescriptor.cs
- ZipIOLocalFileDataDescriptor.cs
- GroupItem.cs
- DataException.cs
- HttpContextBase.cs
- AssemblyBuilderData.cs
- TextServicesContext.cs
- CounterSample.cs
- WindowCollection.cs
- ListViewGroupConverter.cs
- VisualBrush.cs
- SystemIcmpV6Statistics.cs
- PaperSize.cs
- AppDomainFactory.cs
- ConditionValidator.cs
- ScriptControl.cs
- ConsumerConnectionPointCollection.cs
- GridViewColumnHeader.cs
- BStrWrapper.cs
- DataContext.cs
- HttpMethodAttribute.cs
- Encoder.cs
- XmlBindingWorker.cs
- PictureBox.cs
- InputReport.cs
- WebFormDesignerActionService.cs
- _Win32.cs
- FacetValueContainer.cs
- Cursor.cs
- CryptoApi.cs
- BookmarkList.cs
- DataIdProcessor.cs
- DependencyPropertyKind.cs
- SamlAction.cs
- RtfNavigator.cs
- FontWeight.cs
- HyperLink.cs
- SqlDataAdapter.cs
- AxisAngleRotation3D.cs
- Transactions.cs
- AppSettingsReader.cs
- ProviderUtil.cs
- CurrentChangingEventArgs.cs
- Claim.cs
- GlyphRunDrawing.cs
- ImageCodecInfo.cs
- ConvertEvent.cs
- TreeNodeClickEventArgs.cs
- WindowsFormsHostPropertyMap.cs
- MappingItemCollection.cs
- ScrollChrome.cs
- HttpCapabilitiesSectionHandler.cs
- CollectionChangeEventArgs.cs
- ShapeTypeface.cs
- BindingNavigator.cs
- UnmanagedHandle.cs
- SqlDataSourceView.cs
- Win32SafeHandles.cs
- __Filters.cs
- RichTextBoxConstants.cs
- NamespaceCollection.cs
- KeyFrames.cs
- ResourcePart.cs
- ElementMarkupObject.cs
- MethodBuilder.cs
- GridViewCellAutomationPeer.cs
- SoapCommonClasses.cs
- BlurBitmapEffect.cs
- TableLayoutStyle.cs
- IntSecurity.cs
- DurationConverter.cs
- Control.cs
- PropertyValueChangedEvent.cs
- CharAnimationBase.cs
- SymLanguageType.cs
- ValidationRule.cs
- DataSetFieldSchema.cs
- Transform3D.cs
- WCFServiceClientProxyGenerator.cs
- CodeTypeReference.cs
- UrlAuthFailedErrorFormatter.cs
- TagPrefixAttribute.cs
- FrameworkElement.cs