Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Map / ViewGeneration / Utils / ExternalCalls.cs / 1305376 / ExternalCalls.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.Data.Mapping.ViewGeneration.Structures; using System.Data.Common; using System.Data.Common.CommandTrees; using System.Data.Common.CommandTrees.ExpressionBuilder; using System.Data.Common.EntitySql; using System.Data.Common.Utils; using System.Data.Metadata.Edm; using System.Diagnostics; using System.Collections.Generic; using System.Linq; namespace System.Data.Mapping.ViewGeneration.Utils { // This class encapsulates "external" calls from view/UDF generation // to other System.Data.Entity features internal static class ExternalCalls { static internal bool IsReservedKeyword(string name) { return CqlLexer.IsReservedKeyword(name); } static internal DbCommandTree CompileView( string viewDef, StorageMappingItemCollection mappingItemCollection, ParserOptions.CompilationMode compilationMode) { Debug.Assert(!String.IsNullOrEmpty(viewDef), "!String.IsNullOrEmpty(viewDef)"); Debug.Assert(mappingItemCollection != null, "mappingItemCollection != null"); Debug.Assert(mappingItemCollection.EdmItemCollection != null, "mappingItemCollection.EdmItemCollection != null"); Debug.Assert(mappingItemCollection.StoreItemCollection != null, "mappingItemCollection.StoreItemCollection != null"); MetadataWorkspace workspace = new MetadataWorkspace(); workspace.RegisterItemCollection(mappingItemCollection.EdmItemCollection); workspace.RegisterItemCollection(mappingItemCollection.StoreItemCollection); workspace.RegisterItemCollection(mappingItemCollection); Perspective perspective = new TargetPerspective(workspace); ParserOptions parserOptions = new ParserOptions(); parserOptions.ParserCompilationMode = compilationMode; DbCommandTree expr = CqlQuery.Compile(viewDef, perspective, parserOptions, null); Debug.Assert(expr != null, "Compile returned empty tree?"); return expr; } ////// Compiles eSQL static internal DbLambda CompileFunctionDefinition( string functionFullName, string functionDefinition, IListand returns . /// Guarantees type match of lambda variables and . /// Passes thru all excepions coming from . /// functionParameters, EdmItemCollection edmItemCollection) { Debug.Assert(!String.IsNullOrEmpty(functionFullName), "!String.IsNullOrEmpty(functionFullName)"); Debug.Assert(!String.IsNullOrEmpty(functionDefinition), "!String.IsNullOrEmpty(functionDefinition)"); Debug.Assert(functionParameters != null, "functionParameters != null"); Debug.Assert(edmItemCollection != null, "edmItemCollection != null"); MetadataWorkspace workspace = new MetadataWorkspace(); workspace.RegisterItemCollection(edmItemCollection); Perspective perspective = new ModelPerspective(workspace); // Since we compile lambda expression and generate variables from the function parameter definitions, // the returned DbLambda will contain variable types that match function parameter types. DbLambda functionBody = CqlQuery.CompileQueryCommandLambda( functionDefinition, perspective, null /* use default parser options */, null /* parameters */, functionParameters.Select(pInfo => pInfo.TypeUsage.Variable(pInfo.Name))); Debug.Assert(functionBody != null, "functionBody != null"); return functionBody; } static internal ItemCollection GetItemCollection(MetadataWorkspace workspace, DataSpace space) { return workspace.GetItemCollection(space); } } } // 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
- WebPartRestoreVerb.cs
- SyndicationCategory.cs
- FileSystemInfo.cs
- SqlWriter.cs
- HttpGetClientProtocol.cs
- CqlGenerator.cs
- XPathSelfQuery.cs
- ViewSimplifier.cs
- RuntimeVariablesExpression.cs
- VisualProxy.cs
- BitmapEffectDrawing.cs
- DeploymentExceptionMapper.cs
- ScriptControl.cs
- XmlJsonWriter.cs
- RequiredFieldValidator.cs
- ConsoleTraceListener.cs
- XmlSchemaIdentityConstraint.cs
- InputBindingCollection.cs
- SourceFileBuildProvider.cs
- GacUtil.cs
- StoragePropertyMapping.cs
- TextInfo.cs
- EntityDesignerUtils.cs
- SafeHandles.cs
- HashMembershipCondition.cs
- Inline.cs
- MutexSecurity.cs
- BuilderInfo.cs
- util.cs
- StringArrayConverter.cs
- ProcessModule.cs
- PrivilegedConfigurationManager.cs
- bidPrivateBase.cs
- LayoutTableCell.cs
- _DigestClient.cs
- SelectionEditingBehavior.cs
- Int64KeyFrameCollection.cs
- MetadataPropertyAttribute.cs
- DataGridHyperlinkColumn.cs
- PlanCompilerUtil.cs
- ObjectQueryProvider.cs
- ThreadPool.cs
- PriorityItem.cs
- WindowsAuthenticationModule.cs
- AnnotationComponentManager.cs
- Stylus.cs
- InlineObject.cs
- BindToObject.cs
- TraceHandler.cs
- QuaternionValueSerializer.cs
- DataGridViewRowsRemovedEventArgs.cs
- BufferedWebEventProvider.cs
- SqlNodeTypeOperators.cs
- PocoPropertyAccessorStrategy.cs
- DataGridViewRowPrePaintEventArgs.cs
- DBConnection.cs
- HttpPostServerProtocol.cs
- HitTestParameters.cs
- SqlDataSourceFilteringEventArgs.cs
- XmlCodeExporter.cs
- future.cs
- TreeView.cs
- HtmlInputPassword.cs
- CommentEmitter.cs
- _Semaphore.cs
- ElementNotEnabledException.cs
- QueryActivatableWorkflowsCommand.cs
- SQLCharsStorage.cs
- DataGridViewRowsAddedEventArgs.cs
- SmtpSection.cs
- Literal.cs
- PointAnimationBase.cs
- EntityDataSource.cs
- CorrelationResolver.cs
- ValuePatternIdentifiers.cs
- ChtmlTextWriter.cs
- SmtpNetworkElement.cs
- MtomMessageEncodingElement.cs
- Types.cs
- InstanceCreationEditor.cs
- HashFinalRequest.cs
- OpCodes.cs
- WebPartManagerInternals.cs
- SocketPermission.cs
- BitmapScalingModeValidation.cs
- RecognizedPhrase.cs
- Animatable.cs
- XsltCompileContext.cs
- StructuredProperty.cs
- oledbmetadatacolumnnames.cs
- ButtonBase.cs
- SharedUtils.cs
- SafeHandle.cs
- LogSwitch.cs
- DiscoveryInnerClientAdhocCD1.cs
- XmlDictionaryWriter.cs
- ItemDragEvent.cs
- XmlReaderDelegator.cs
- CodeFieldReferenceExpression.cs
- ColumnHeaderConverter.cs