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 / Metadata / StoreItemCollection.cs / 1 / StoreItemCollection.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System.Collections.Generic;
using System.Data.Common;
using System.Data.Common.Utils;
using System.Diagnostics;
using System.Xml;
using System.Data.Entity;
using System.Linq;
namespace System.Data.Metadata.Edm
{
///
/// Class for representing a collection of items in Store space.
///
public sealed partial class StoreItemCollection : ItemCollection
{
#region Fields
// Cache for primitive type maps for Edm to provider
private readonly CacheForPrimitiveTypes _primitiveTypeMaps = new CacheForPrimitiveTypes();
private readonly Memoizer _cachedCTypeFunction;
private readonly DbProviderManifest _providerManifest;
private readonly DbProviderFactory _providerFactory;
// Storing the query cache manager in the store item collection since all queries are currently bound to the
// store. So storing it in StoreItemCollection makes sense. Also, since query cache requires version and other
// stuff of the provider, we can assume that the connection is always open and we have the store metadata.
// Also we can use the same cache manager both for Entity Client and Object Query, since query cache has
// no reference to any metadata in OSpace. Also we assume that ObjectMaterializer loads the assembly
// before it tries to do object materialization, since we might not have loaded an assembly in another workspace
// where this store item collection is getting reused
private readonly System.Data.Common.QueryCache.QueryCacheManager _queryCacheManager = System.Data.Common.QueryCache.QueryCacheManager.Create();
#endregion
#region Constructors
// used by EntityStoreSchemaGenerator to start with an empty (primitive types only) StoreItemCollection and
// add types discovered from the database
internal StoreItemCollection(DbProviderFactory factory, DbProviderManifest manifest)
: base(DataSpace.SSpace)
{
Debug.Assert(factory != null, "factory is null");
Debug.Assert(manifest != null, "manifest is null");
_providerFactory = factory;
_providerManifest = manifest;
_cachedCTypeFunction = new Memoizer(ConvertFunctionParameterToCType, null);
LoadProviderManifest(_providerManifest, true /*checkForSystemNamespace*/);
}
///
/// constructor that loads the metadata files from the specified xmlReaders, and returns the list of errors
/// encountered during load as the out parameter errors.
///
/// Publicly available from System.Data.Entity.Desgin.dll
///
/// xmlReaders where the CDM schemas are loaded
/// the paths where the files can be found that match the xml readers collection
/// An out parameter to return the collection of errors encountered while loading
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] // referenced by System.Data.Entity.Design.dll
internal StoreItemCollection(IEnumerable xmlReaders,
System.Collections.ObjectModel.ReadOnlyCollection filePaths,
out IList errors)
: base(DataSpace.SSpace)
{
EntityUtil.CheckArgumentNull(xmlReaders, "xmlReaders");
EntityUtil.CheckArgumentEmpty(ref xmlReaders, Strings.StoreItemCollectionMustHaveOneArtifact, "xmlReader");
errors = this.Init(xmlReaders, filePaths, false,
out _providerManifest,
out _providerFactory,
out _cachedCTypeFunction);
}
///
/// constructor that loads the metadata files from the specified xmlReaders, and returns the list of errors
/// encountered during load as the out parameter errors.
///
/// Publicly available from System.Data.Entity.Desgin.dll
///
/// xmlReaders where the CDM schemas are loaded
/// the paths where the files can be found that match the xml readers collection
internal StoreItemCollection(IEnumerable xmlReaders,
IEnumerable filePaths)
: base(DataSpace.SSpace)
{
EntityUtil.CheckArgumentNull(filePaths, "filePaths");
EntityUtil.CheckArgumentEmpty(ref xmlReaders, Strings.StoreItemCollectionMustHaveOneArtifact, "xmlReader");
this.Init(xmlReaders, filePaths, true,
out _providerManifest,
out _providerFactory,
out _cachedCTypeFunction);
}
///
/// Public constructor that loads the metadata files from the specified xmlReaders.
/// Throws when encounter errors.
///
/// xmlReaders where the CDM schemas are loaded
public StoreItemCollection(IEnumerable xmlReaders)
: base(DataSpace.SSpace)
{
EntityUtil.CheckArgumentNull(xmlReaders, "xmlReaders");
EntityUtil.CheckArgumentEmpty(ref xmlReaders, Strings.StoreItemCollectionMustHaveOneArtifact, "xmlReader");
MetadataArtifactLoader composite = MetadataArtifactLoader.CreateCompositeFromXmlReaders(xmlReaders);
this.Init(composite.GetReaders(),
composite.GetPaths(), true,
out _providerManifest,
out _providerFactory,
out _cachedCTypeFunction);
}
///
/// Constructs the new instance of StoreItemCollection
/// with the list of CDM files provided.
///
/// paths where the CDM schemas are loaded
/// Thrown if path name is not valid
/// thrown if paths argument is null
/// For errors related to invalid schemas.
public StoreItemCollection(params string[] filePaths)
: base(DataSpace.SSpace)
{
EntityUtil.CheckArgumentNull(filePaths, "filePaths");
IEnumerable enumerableFilePaths = filePaths;
EntityUtil.CheckArgumentEmpty(ref enumerableFilePaths, Strings.StoreItemCollectionMustHaveOneArtifact, "filePaths");
// Wrap the file paths in instances of the MetadataArtifactLoader class, which provides
// an abstraction and a uniform interface over a diverse set of metadata artifacts.
//
MetadataArtifactLoader composite = null;
List readers = null;
try
{
composite = MetadataArtifactLoader.CreateCompositeFromFilePaths(enumerableFilePaths, XmlConstants.SSpaceSchemaExtension);
readers = composite.CreateReaders(DataSpace.SSpace);
IEnumerable ieReaders = readers.AsEnumerable();
EntityUtil.CheckArgumentEmpty(ref ieReaders, Strings.StoreItemCollectionMustHaveOneArtifact, "filePaths");
this.Init(readers,
composite.GetPaths(DataSpace.SSpace), true,
out _providerManifest,
out _providerFactory,
out _cachedCTypeFunction);
}
finally
{
if (readers != null)
{
Helper.DisposeXmlReaders(readers);
}
}
}
private IList Init(IEnumerable xmlReaders,
IEnumerable filePaths, bool throwOnError,
out DbProviderManifest providerManifest,
out DbProviderFactory providerFactory,
out Memoizer cachedCTypeFunction)
{
EntityUtil.CheckArgumentNull(xmlReaders, "xmlReaders");
// 'filePaths' can be null
cachedCTypeFunction = new Memoizer(ConvertFunctionParameterToCType, null);
Loader loader = new Loader(xmlReaders, filePaths, throwOnError);
providerFactory = loader.ProviderFactory;
providerManifest = loader.ProviderManifest;
// load the items into the colleciton
if (!loader.HasNonWarningErrors)
{
LoadProviderManifest(loader.ProviderManifest, true /* check for system namespace */);
List errorList = EdmItemCollection.LoadItems(_providerManifest, loader.Schemas, this);
foreach (var error in errorList)
{
loader.Errors.Add(error);
}
if (throwOnError && errorList.Count != 0)
loader.ThrowOnNonWarningErrors();
}
return loader.Errors;
}
#endregion
#region Properties
///
/// Returns the query cache manager
///
internal System.Data.Common.QueryCache.QueryCacheManager QueryCacheManager
{
get { return _queryCacheManager; }
}
internal DbProviderFactory StoreProviderFactory
{
get
{
return _providerFactory;
}
}
internal DbProviderManifest StoreProviderManifest
{
get
{
return _providerManifest;
}
}
#endregion
#region Methods
///
/// Get the list of primitive types for the given space
///
///
public System.Collections.ObjectModel.ReadOnlyCollection GetPrimitiveTypes()
{
return _primitiveTypeMaps.GetTypes();
}
///
/// Given the canonical primitive type, get the mapping primitive type in the given dataspace
///
/// canonical primitive type
/// The mapped scalar type
internal override PrimitiveType GetMappedPrimitiveType(PrimitiveTypeKind primitiveTypeKind)
{
PrimitiveType type = null;
_primitiveTypeMaps.TryGetType(primitiveTypeKind, null, out type);
return type;
}
///
/// checks if the schemaKey refers to the provider manifest schema key
/// and if true, loads the provider manifest
///
/// The connection where the store manifest is loaded from
/// Check for System namespace
/// The provider manifest object that was loaded
private void LoadProviderManifest(DbProviderManifest storeManifest,
bool checkForSystemNamespace)
{
foreach (PrimitiveType primitiveType in storeManifest.GetStoreTypes())
{
//Add it to the collection and the primitive type maps
this.AddInternal(primitiveType);
_primitiveTypeMaps.Add(primitiveType);
}
foreach (EdmFunction function in storeManifest.GetStoreFunctions())
{
AddInternal(function);
}
}
#endregion
///
/// Get all the overloads of the function with the given name, this method is used for internal perspective
///
/// The full name of the function
/// true for case-insensitive lookup
/// A collection of all the functions with the given name in the given data space
/// Thrown if functionaName argument passed in is null
internal System.Collections.ObjectModel.ReadOnlyCollection GetCTypeFunctions(string functionName, bool ignoreCase)
{
System.Collections.ObjectModel.ReadOnlyCollection functionOverloads;
if (this.FunctionLookUpTable.TryGetValue(functionName, out functionOverloads))
{
functionOverloads = ConvertToCTypeFunctions(functionOverloads);
if (ignoreCase)
{
return functionOverloads;
}
return GetCaseSensitiveFunctions(functionOverloads, functionName);
}
return Helper.EmptyEdmFunctionReadOnlyCollection;
}
private System.Collections.ObjectModel.ReadOnlyCollection ConvertToCTypeFunctions(
System.Collections.ObjectModel.ReadOnlyCollection functionOverloads)
{
List cTypeFunctions =
new List();
foreach (var sTypeFunction in functionOverloads)
{
cTypeFunctions.Add(this._cachedCTypeFunction.Evaluate(sTypeFunction));
}
return cTypeFunctions.AsReadOnly();
}
///
/// Convert the S type function parameters and returnType to C type
///
///
///
private EdmFunction ConvertFunctionParameterToCType(EdmFunction sTypeFunction)
{
if (sTypeFunction.IsFromProviderManifest)
{
return sTypeFunction;
}
FunctionParameter returnParameter = null;
if (sTypeFunction.ReturnParameter != null)
{
TypeUsage edmTypeUsageReturnParameter =
MetadataHelper.ConvertStoreTypeUsageToEdmTypeUsage(sTypeFunction.ReturnParameter.TypeUsage);
returnParameter =
new FunctionParameter(
sTypeFunction.ReturnParameter.Name,
edmTypeUsageReturnParameter,
sTypeFunction.ReturnParameter.GetParameterMode());
}
List parameters = new List();
if (sTypeFunction.Parameters.Count > 0)
{
foreach (var parameter in sTypeFunction.Parameters)
{
TypeUsage edmTypeUsage = MetadataHelper.ConvertStoreTypeUsageToEdmTypeUsage(parameter.TypeUsage);
FunctionParameter edmTypeParameter = new FunctionParameter(parameter.Name, edmTypeUsage, parameter.GetParameterMode());
parameters.Add(edmTypeParameter);
}
}
EdmFunction edmFunction = new EdmFunction(sTypeFunction.Name,
sTypeFunction.NamespaceName,
DataSpace.CSpace,
new EdmFunctionPayload
{
Schema = sTypeFunction.Schema,
StoreFunctionName = sTypeFunction.StoreFunctionNameAttribute,
CommandText = sTypeFunction.CommandTextAttribute,
IsAggregate = sTypeFunction.AggregateAttribute,
IsBuiltIn = sTypeFunction.BuiltInAttribute,
IsNiladic = sTypeFunction.NiladicFunctionAttribute,
IsComposable = sTypeFunction.IsComposableAttribute,
IsFromProviderManifest = sTypeFunction.IsFromProviderManifest,
IsCachedStoreFunction = true,
ReturnParameter = returnParameter,
Parameters = parameters.ToArray(),
ParameterTypeSemantics = sTypeFunction.ParameterTypeSemanticsAttribute,
});
edmFunction.SetReadOnly();
return edmFunction;
}
}//---- ItemCollection
}//----
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System.Collections.Generic;
using System.Data.Common;
using System.Data.Common.Utils;
using System.Diagnostics;
using System.Xml;
using System.Data.Entity;
using System.Linq;
namespace System.Data.Metadata.Edm
{
///
/// Class for representing a collection of items in Store space.
///
public sealed partial class StoreItemCollection : ItemCollection
{
#region Fields
// Cache for primitive type maps for Edm to provider
private readonly CacheForPrimitiveTypes _primitiveTypeMaps = new CacheForPrimitiveTypes();
private readonly Memoizer _cachedCTypeFunction;
private readonly DbProviderManifest _providerManifest;
private readonly DbProviderFactory _providerFactory;
// Storing the query cache manager in the store item collection since all queries are currently bound to the
// store. So storing it in StoreItemCollection makes sense. Also, since query cache requires version and other
// stuff of the provider, we can assume that the connection is always open and we have the store metadata.
// Also we can use the same cache manager both for Entity Client and Object Query, since query cache has
// no reference to any metadata in OSpace. Also we assume that ObjectMaterializer loads the assembly
// before it tries to do object materialization, since we might not have loaded an assembly in another workspace
// where this store item collection is getting reused
private readonly System.Data.Common.QueryCache.QueryCacheManager _queryCacheManager = System.Data.Common.QueryCache.QueryCacheManager.Create();
#endregion
#region Constructors
// used by EntityStoreSchemaGenerator to start with an empty (primitive types only) StoreItemCollection and
// add types discovered from the database
internal StoreItemCollection(DbProviderFactory factory, DbProviderManifest manifest)
: base(DataSpace.SSpace)
{
Debug.Assert(factory != null, "factory is null");
Debug.Assert(manifest != null, "manifest is null");
_providerFactory = factory;
_providerManifest = manifest;
_cachedCTypeFunction = new Memoizer(ConvertFunctionParameterToCType, null);
LoadProviderManifest(_providerManifest, true /*checkForSystemNamespace*/);
}
///
/// constructor that loads the metadata files from the specified xmlReaders, and returns the list of errors
/// encountered during load as the out parameter errors.
///
/// Publicly available from System.Data.Entity.Desgin.dll
///
/// xmlReaders where the CDM schemas are loaded
/// the paths where the files can be found that match the xml readers collection
/// An out parameter to return the collection of errors encountered while loading
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] // referenced by System.Data.Entity.Design.dll
internal StoreItemCollection(IEnumerable xmlReaders,
System.Collections.ObjectModel.ReadOnlyCollection filePaths,
out IList errors)
: base(DataSpace.SSpace)
{
EntityUtil.CheckArgumentNull(xmlReaders, "xmlReaders");
EntityUtil.CheckArgumentEmpty(ref xmlReaders, Strings.StoreItemCollectionMustHaveOneArtifact, "xmlReader");
errors = this.Init(xmlReaders, filePaths, false,
out _providerManifest,
out _providerFactory,
out _cachedCTypeFunction);
}
///
/// constructor that loads the metadata files from the specified xmlReaders, and returns the list of errors
/// encountered during load as the out parameter errors.
///
/// Publicly available from System.Data.Entity.Desgin.dll
///
/// xmlReaders where the CDM schemas are loaded
/// the paths where the files can be found that match the xml readers collection
internal StoreItemCollection(IEnumerable xmlReaders,
IEnumerable filePaths)
: base(DataSpace.SSpace)
{
EntityUtil.CheckArgumentNull(filePaths, "filePaths");
EntityUtil.CheckArgumentEmpty(ref xmlReaders, Strings.StoreItemCollectionMustHaveOneArtifact, "xmlReader");
this.Init(xmlReaders, filePaths, true,
out _providerManifest,
out _providerFactory,
out _cachedCTypeFunction);
}
///
/// Public constructor that loads the metadata files from the specified xmlReaders.
/// Throws when encounter errors.
///
/// xmlReaders where the CDM schemas are loaded
public StoreItemCollection(IEnumerable xmlReaders)
: base(DataSpace.SSpace)
{
EntityUtil.CheckArgumentNull(xmlReaders, "xmlReaders");
EntityUtil.CheckArgumentEmpty(ref xmlReaders, Strings.StoreItemCollectionMustHaveOneArtifact, "xmlReader");
MetadataArtifactLoader composite = MetadataArtifactLoader.CreateCompositeFromXmlReaders(xmlReaders);
this.Init(composite.GetReaders(),
composite.GetPaths(), true,
out _providerManifest,
out _providerFactory,
out _cachedCTypeFunction);
}
///
/// Constructs the new instance of StoreItemCollection
/// with the list of CDM files provided.
///
/// paths where the CDM schemas are loaded
/// Thrown if path name is not valid
/// thrown if paths argument is null
/// For errors related to invalid schemas.
public StoreItemCollection(params string[] filePaths)
: base(DataSpace.SSpace)
{
EntityUtil.CheckArgumentNull(filePaths, "filePaths");
IEnumerable enumerableFilePaths = filePaths;
EntityUtil.CheckArgumentEmpty(ref enumerableFilePaths, Strings.StoreItemCollectionMustHaveOneArtifact, "filePaths");
// Wrap the file paths in instances of the MetadataArtifactLoader class, which provides
// an abstraction and a uniform interface over a diverse set of metadata artifacts.
//
MetadataArtifactLoader composite = null;
List readers = null;
try
{
composite = MetadataArtifactLoader.CreateCompositeFromFilePaths(enumerableFilePaths, XmlConstants.SSpaceSchemaExtension);
readers = composite.CreateReaders(DataSpace.SSpace);
IEnumerable ieReaders = readers.AsEnumerable();
EntityUtil.CheckArgumentEmpty(ref ieReaders, Strings.StoreItemCollectionMustHaveOneArtifact, "filePaths");
this.Init(readers,
composite.GetPaths(DataSpace.SSpace), true,
out _providerManifest,
out _providerFactory,
out _cachedCTypeFunction);
}
finally
{
if (readers != null)
{
Helper.DisposeXmlReaders(readers);
}
}
}
private IList Init(IEnumerable xmlReaders,
IEnumerable filePaths, bool throwOnError,
out DbProviderManifest providerManifest,
out DbProviderFactory providerFactory,
out Memoizer cachedCTypeFunction)
{
EntityUtil.CheckArgumentNull(xmlReaders, "xmlReaders");
// 'filePaths' can be null
cachedCTypeFunction = new Memoizer(ConvertFunctionParameterToCType, null);
Loader loader = new Loader(xmlReaders, filePaths, throwOnError);
providerFactory = loader.ProviderFactory;
providerManifest = loader.ProviderManifest;
// load the items into the colleciton
if (!loader.HasNonWarningErrors)
{
LoadProviderManifest(loader.ProviderManifest, true /* check for system namespace */);
List errorList = EdmItemCollection.LoadItems(_providerManifest, loader.Schemas, this);
foreach (var error in errorList)
{
loader.Errors.Add(error);
}
if (throwOnError && errorList.Count != 0)
loader.ThrowOnNonWarningErrors();
}
return loader.Errors;
}
#endregion
#region Properties
///
/// Returns the query cache manager
///
internal System.Data.Common.QueryCache.QueryCacheManager QueryCacheManager
{
get { return _queryCacheManager; }
}
internal DbProviderFactory StoreProviderFactory
{
get
{
return _providerFactory;
}
}
internal DbProviderManifest StoreProviderManifest
{
get
{
return _providerManifest;
}
}
#endregion
#region Methods
///
/// Get the list of primitive types for the given space
///
///
public System.Collections.ObjectModel.ReadOnlyCollection GetPrimitiveTypes()
{
return _primitiveTypeMaps.GetTypes();
}
///
/// Given the canonical primitive type, get the mapping primitive type in the given dataspace
///
/// canonical primitive type
/// The mapped scalar type
internal override PrimitiveType GetMappedPrimitiveType(PrimitiveTypeKind primitiveTypeKind)
{
PrimitiveType type = null;
_primitiveTypeMaps.TryGetType(primitiveTypeKind, null, out type);
return type;
}
///
/// checks if the schemaKey refers to the provider manifest schema key
/// and if true, loads the provider manifest
///
/// The connection where the store manifest is loaded from
/// Check for System namespace
/// The provider manifest object that was loaded
private void LoadProviderManifest(DbProviderManifest storeManifest,
bool checkForSystemNamespace)
{
foreach (PrimitiveType primitiveType in storeManifest.GetStoreTypes())
{
//Add it to the collection and the primitive type maps
this.AddInternal(primitiveType);
_primitiveTypeMaps.Add(primitiveType);
}
foreach (EdmFunction function in storeManifest.GetStoreFunctions())
{
AddInternal(function);
}
}
#endregion
///
/// Get all the overloads of the function with the given name, this method is used for internal perspective
///
/// The full name of the function
/// true for case-insensitive lookup
/// A collection of all the functions with the given name in the given data space
/// Thrown if functionaName argument passed in is null
internal System.Collections.ObjectModel.ReadOnlyCollection GetCTypeFunctions(string functionName, bool ignoreCase)
{
System.Collections.ObjectModel.ReadOnlyCollection functionOverloads;
if (this.FunctionLookUpTable.TryGetValue(functionName, out functionOverloads))
{
functionOverloads = ConvertToCTypeFunctions(functionOverloads);
if (ignoreCase)
{
return functionOverloads;
}
return GetCaseSensitiveFunctions(functionOverloads, functionName);
}
return Helper.EmptyEdmFunctionReadOnlyCollection;
}
private System.Collections.ObjectModel.ReadOnlyCollection ConvertToCTypeFunctions(
System.Collections.ObjectModel.ReadOnlyCollection functionOverloads)
{
List cTypeFunctions =
new List();
foreach (var sTypeFunction in functionOverloads)
{
cTypeFunctions.Add(this._cachedCTypeFunction.Evaluate(sTypeFunction));
}
return cTypeFunctions.AsReadOnly();
}
///
/// Convert the S type function parameters and returnType to C type
///
///
///
private EdmFunction ConvertFunctionParameterToCType(EdmFunction sTypeFunction)
{
if (sTypeFunction.IsFromProviderManifest)
{
return sTypeFunction;
}
FunctionParameter returnParameter = null;
if (sTypeFunction.ReturnParameter != null)
{
TypeUsage edmTypeUsageReturnParameter =
MetadataHelper.ConvertStoreTypeUsageToEdmTypeUsage(sTypeFunction.ReturnParameter.TypeUsage);
returnParameter =
new FunctionParameter(
sTypeFunction.ReturnParameter.Name,
edmTypeUsageReturnParameter,
sTypeFunction.ReturnParameter.GetParameterMode());
}
List parameters = new List();
if (sTypeFunction.Parameters.Count > 0)
{
foreach (var parameter in sTypeFunction.Parameters)
{
TypeUsage edmTypeUsage = MetadataHelper.ConvertStoreTypeUsageToEdmTypeUsage(parameter.TypeUsage);
FunctionParameter edmTypeParameter = new FunctionParameter(parameter.Name, edmTypeUsage, parameter.GetParameterMode());
parameters.Add(edmTypeParameter);
}
}
EdmFunction edmFunction = new EdmFunction(sTypeFunction.Name,
sTypeFunction.NamespaceName,
DataSpace.CSpace,
new EdmFunctionPayload
{
Schema = sTypeFunction.Schema,
StoreFunctionName = sTypeFunction.StoreFunctionNameAttribute,
CommandText = sTypeFunction.CommandTextAttribute,
IsAggregate = sTypeFunction.AggregateAttribute,
IsBuiltIn = sTypeFunction.BuiltInAttribute,
IsNiladic = sTypeFunction.NiladicFunctionAttribute,
IsComposable = sTypeFunction.IsComposableAttribute,
IsFromProviderManifest = sTypeFunction.IsFromProviderManifest,
IsCachedStoreFunction = true,
ReturnParameter = returnParameter,
Parameters = parameters.ToArray(),
ParameterTypeSemantics = sTypeFunction.ParameterTypeSemanticsAttribute,
});
edmFunction.SetReadOnly();
return edmFunction;
}
}//---- ItemCollection
}//----
// 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
- HtmlFormWrapper.cs
- ConstructorNeedsTagAttribute.cs
- UriSectionReader.cs
- ZipIOExtraFieldPaddingElement.cs
- ParameterCollection.cs
- WebPartConnection.cs
- SqlProcedureAttribute.cs
- CharacterHit.cs
- Knowncolors.cs
- AppDomainInstanceProvider.cs
- XmlSchemaValidationException.cs
- ResourceProviderFactory.cs
- ToolStripItemCollection.cs
- TreeViewHitTestInfo.cs
- EmbossBitmapEffect.cs
- MenuCommandsChangedEventArgs.cs
- TextFindEngine.cs
- TextParentUndoUnit.cs
- BrowserCapabilitiesFactory35.cs
- LocatorPart.cs
- TrueReadOnlyCollection.cs
- PaperSource.cs
- GeneralTransform3DGroup.cs
- WindowsListViewSubItem.cs
- OlePropertyStructs.cs
- UDPClient.cs
- xsdvalidator.cs
- TabControl.cs
- TextBoxLine.cs
- ContainerVisual.cs
- JsonStringDataContract.cs
- ServiceHttpModule.cs
- datacache.cs
- GreenMethods.cs
- SafeFindHandle.cs
- ErrorHandler.cs
- FileFormatException.cs
- DataServiceQueryOfT.cs
- AppDomainShutdownMonitor.cs
- JsonFormatGeneratorStatics.cs
- Point3DCollection.cs
- QilBinary.cs
- TableProviderWrapper.cs
- PublisherMembershipCondition.cs
- CreateUserWizard.cs
- XmlNamedNodeMap.cs
- ValidateNames.cs
- Reference.cs
- DBPropSet.cs
- PixelShader.cs
- Page.cs
- NullPackagingPolicy.cs
- DesignTimeTemplateParser.cs
- AttributeQuery.cs
- CompositeCollection.cs
- PaintValueEventArgs.cs
- Rect3DValueSerializer.cs
- Visual.cs
- CursorConverter.cs
- SqlDataRecord.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- UrlMappingsModule.cs
- EnlistmentTraceIdentifier.cs
- ToolStripDropDownClosingEventArgs.cs
- ButtonBaseAdapter.cs
- COM2IDispatchConverter.cs
- TypeBuilder.cs
- HostedTransportConfigurationBase.cs
- XamlHttpHandlerFactory.cs
- CompositeCollection.cs
- InspectionWorker.cs
- NameGenerator.cs
- ObjectDataSourceDisposingEventArgs.cs
- XsdBuildProvider.cs
- Timer.cs
- UTF32Encoding.cs
- ComplusEndpointConfigContainer.cs
- PagesSection.cs
- DataGridViewRowHeaderCell.cs
- ProfileSettings.cs
- BuildProvidersCompiler.cs
- OrthographicCamera.cs
- LineProperties.cs
- FixedPageAutomationPeer.cs
- ValueQuery.cs
- Viewport3DAutomationPeer.cs
- RegionInfo.cs
- ProcessProtocolHandler.cs
- StorageRoot.cs
- ChildrenQuery.cs
- MethodBody.cs
- PropertyValueChangedEvent.cs
- TagPrefixAttribute.cs
- Geometry.cs
- PrivilegedConfigurationManager.cs
- Rotation3DAnimation.cs
- StreamSecurityUpgradeProvider.cs
- Matrix3DConverter.cs
- ClientSettingsSection.cs
- DiscoveryCallbackBehavior.cs