Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataWeb / Design / system / Data / EntityModel / Emitters / EntityTypeEmitter.cs / 3 / EntityTypeEmitter.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.CodeDom; using System.Data.Metadata.Edm; namespace System.Data.EntityModel.Emitters { ////// Summary description for ItemTypeEmitter. /// internal sealed class EntityTypeEmitter : StructuredTypeEmitter { #region Public Methods ////// /// /// /// public EntityTypeEmitter(ClientApiGenerator generator, EntityType entity) : base(generator, entity) { } #endregion #region Protected Methods ////// /// /// protected override void EmitProperties(CodeTypeDeclaration typeDecl) { base.EmitProperties(typeDecl); foreach (EdmMember member in Item.Members) { NavigationProperty navigationProperty = (member as NavigationProperty); if ((null != navigationProperty) && (navigationProperty.DeclaringType == Item)) { NavigationPropertyEmitter navigationPropertyEmitter = new NavigationPropertyEmitter(Generator, navigationProperty, UsingStandardBaseClass); navigationPropertyEmitter.Emit(typeDecl); } } } public override CodeTypeDeclarationCollection EmitApiClass() { CodeTypeDeclarationCollection typeDecls = base.EmitApiClass(); if ( Item.KeyMembers.Count > 0 && typeDecls.Count == 1 ) { // generate xml comments for the key properties CodeTypeDeclaration typeDecl = typeDecls[0]; typeDecl.Comments.Add( new CodeCommentStatement( "", true ) ); foreach ( EdmMember keyProperty in Item.KeyMembers) { string name = keyProperty.Name; typeDecl.Comments.Add( new CodeCommentStatement( name, true ) ); } typeDecl.Comments.Add( new CodeCommentStatement( " ", true ) ); } return typeDecls; } ////// /// /// protected override void EmitTypeAttributes(CodeTypeDeclaration typeDecl) { Generator.AttributeEmitter.EmitTypeAttributes( this, typeDecl ); base.EmitTypeAttributes( typeDecl ); } ////// /// ///protected override CodeTypeReference GetBaseType() { CodeTypeReference baseType = base.GetBaseType(); return baseType; } protected override ReadOnlyMetadataCollection GetProperties() { return Item.Properties; } #endregion #region Public Properties #endregion #region Protected Properties #endregion #region Private Properties /// /// Gets the SchemaElement that this class is generating code for. /// ///public new EntityType Item { get { return base.Item as EntityType; } } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.CodeDom; using System.Data.Metadata.Edm; namespace System.Data.EntityModel.Emitters { ////// Summary description for ItemTypeEmitter. /// internal sealed class EntityTypeEmitter : StructuredTypeEmitter { #region Public Methods ////// /// /// /// public EntityTypeEmitter(ClientApiGenerator generator, EntityType entity) : base(generator, entity) { } #endregion #region Protected Methods ////// /// /// protected override void EmitProperties(CodeTypeDeclaration typeDecl) { base.EmitProperties(typeDecl); foreach (EdmMember member in Item.Members) { NavigationProperty navigationProperty = (member as NavigationProperty); if ((null != navigationProperty) && (navigationProperty.DeclaringType == Item)) { NavigationPropertyEmitter navigationPropertyEmitter = new NavigationPropertyEmitter(Generator, navigationProperty, UsingStandardBaseClass); navigationPropertyEmitter.Emit(typeDecl); } } } public override CodeTypeDeclarationCollection EmitApiClass() { CodeTypeDeclarationCollection typeDecls = base.EmitApiClass(); if ( Item.KeyMembers.Count > 0 && typeDecls.Count == 1 ) { // generate xml comments for the key properties CodeTypeDeclaration typeDecl = typeDecls[0]; typeDecl.Comments.Add( new CodeCommentStatement( "", true ) ); foreach ( EdmMember keyProperty in Item.KeyMembers) { string name = keyProperty.Name; typeDecl.Comments.Add( new CodeCommentStatement( name, true ) ); } typeDecl.Comments.Add( new CodeCommentStatement( " ", true ) ); } return typeDecls; } ////// /// /// protected override void EmitTypeAttributes(CodeTypeDeclaration typeDecl) { Generator.AttributeEmitter.EmitTypeAttributes( this, typeDecl ); base.EmitTypeAttributes( typeDecl ); } ////// /// ///protected override CodeTypeReference GetBaseType() { CodeTypeReference baseType = base.GetBaseType(); return baseType; } protected override ReadOnlyMetadataCollection GetProperties() { return Item.Properties; } #endregion #region Public Properties #endregion #region Protected Properties #endregion #region Private Properties /// /// Gets the SchemaElement that this class is generating code for. /// ///public new EntityType Item { get { return base.Item as EntityType; } } #endregion } } // 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
- MatrixStack.cs
- HttpConfigurationSystem.cs
- InvariantComparer.cs
- HyperLinkColumn.cs
- Column.cs
- NotifyInputEventArgs.cs
- ValidationSummary.cs
- XmlSchemaCollection.cs
- TriggerActionCollection.cs
- Thumb.cs
- NetMsmqSecurityElement.cs
- TabControl.cs
- diagnosticsswitches.cs
- ObjectAnimationBase.cs
- Drawing.cs
- BoundPropertyEntry.cs
- XNodeValidator.cs
- CompressEmulationStream.cs
- ObjectDataSource.cs
- AmbiguousMatchException.cs
- ContractReference.cs
- BitmapMetadataBlob.cs
- ZipIOLocalFileHeader.cs
- PrintDialog.cs
- XsltContext.cs
- ExpandCollapseProviderWrapper.cs
- DateTimeStorage.cs
- ByteAnimationBase.cs
- GlobalEventManager.cs
- SectionUpdates.cs
- AutomationAttributeInfo.cs
- EDesignUtil.cs
- TreeView.cs
- ColumnWidthChangingEvent.cs
- Char.cs
- TreeViewDataItemAutomationPeer.cs
- ProxyAttribute.cs
- BufferedGraphicsContext.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- MessageRpc.cs
- BulletedListDesigner.cs
- BitStack.cs
- MimeMapping.cs
- ReadWriteObjectLock.cs
- ModelItemKeyValuePair.cs
- Size.cs
- TransactionContextValidator.cs
- BufferedGraphicsContext.cs
- tooltip.cs
- AuthorizationPolicyTypeElement.cs
- OptimizerPatterns.cs
- StylesEditorDialog.cs
- Margins.cs
- ConnectionManagementSection.cs
- InteropExecutor.cs
- securitymgrsite.cs
- WebPartConnectionCollection.cs
- EntityClassGenerator.cs
- IteratorDescriptor.cs
- BrowserCapabilitiesCompiler.cs
- CodeStatementCollection.cs
- DateTimeUtil.cs
- StringFunctions.cs
- QueuePathEditor.cs
- CredentialCache.cs
- ItemAutomationPeer.cs
- ListSortDescriptionCollection.cs
- DictionaryBase.cs
- ToolboxControl.cs
- RealizationContext.cs
- GC.cs
- MetadataProperty.cs
- Rotation3DKeyFrameCollection.cs
- FamilyMap.cs
- RijndaelManagedTransform.cs
- AccessKeyManager.cs
- OpCodes.cs
- TraceLevelStore.cs
- FormViewInsertedEventArgs.cs
- HandlerFactoryWrapper.cs
- TeredoHelper.cs
- PointUtil.cs
- newinstructionaction.cs
- ConstructorNeedsTagAttribute.cs
- PermissionAttributes.cs
- RowTypeElement.cs
- safex509handles.cs
- ConfigDefinitionUpdates.cs
- Vector3DCollectionConverter.cs
- CompiledQueryCacheEntry.cs
- SecurityContextSecurityTokenAuthenticator.cs
- WindowsSolidBrush.cs
- Boolean.cs
- HttpCacheParams.cs
- XmlDocumentSerializer.cs
- CompilationLock.cs
- FilterUserControlBase.cs
- LogEntryDeserializer.cs
- DBSchemaRow.cs
- DiscoveryServerProtocol.cs