Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataEntityDesign / Design / System / Data / EntityModel / Emitters / EntityTypeEmitter.cs / 1 / EntityTypeEmitter.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.CodeDom; using System.Data; using Som=System.Data.EntityModel.SchemaObjectModel; 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 ( NavigationProperty navigationProperty in Item.GetDeclaredOnlyMembers() ) { 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(); if (baseType == null) { baseType = TypeReference.EntityTypeBaseClass; } 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; using System.Collections.Generic; using System.CodeDom; using System.Data; using Som=System.Data.EntityModel.SchemaObjectModel; 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 ( NavigationProperty navigationProperty in Item.GetDeclaredOnlyMembers() ) { 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(); if (baseType == null) { baseType = TypeReference.EntityTypeBaseClass; } 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
- ToolBarButton.cs
- Hex.cs
- FormsIdentity.cs
- ZipIOFileItemStream.cs
- RoleGroup.cs
- TimeoutException.cs
- EffectiveValueEntry.cs
- OledbConnectionStringbuilder.cs
- TextSelectionProcessor.cs
- WebPartConnectionsConfigureVerb.cs
- TraceUtility.cs
- ToolStripSplitButton.cs
- CodeAssignStatement.cs
- ContractTypeNameElement.cs
- MatchAttribute.cs
- HttpClientCertificate.cs
- InstalledFontCollection.cs
- AttributeConverter.cs
- CompiledELinqQueryState.cs
- DecimalConstantAttribute.cs
- EmptyElement.cs
- ManifestSignedXml.cs
- XmlBinaryReader.cs
- Rule.cs
- OperationPickerDialog.designer.cs
- QueryStringHandler.cs
- DataListCommandEventArgs.cs
- BufferModeSettings.cs
- Point3DAnimationBase.cs
- CollectionType.cs
- ExpressionPrefixAttribute.cs
- CodeThrowExceptionStatement.cs
- XPathSelectionIterator.cs
- ObjectSecurity.cs
- SqlNotificationRequest.cs
- WindowsAuthenticationEventArgs.cs
- TextEditorCopyPaste.cs
- BlurBitmapEffect.cs
- ListBoxItem.cs
- WebEvents.cs
- FontDialog.cs
- UrlMappingsModule.cs
- CTreeGenerator.cs
- PersonalizablePropertyEntry.cs
- PageCatalogPart.cs
- HtmlInputSubmit.cs
- JsonReader.cs
- PresentationAppDomainManager.cs
- Message.cs
- Deserializer.cs
- TracingConnectionListener.cs
- WebPartCloseVerb.cs
- UpdateTranslator.cs
- QilList.cs
- SupportsEventValidationAttribute.cs
- PackageRelationshipCollection.cs
- Compress.cs
- TrackingConditionCollection.cs
- MulticastDelegate.cs
- DataControlImageButton.cs
- TableChangeProcessor.cs
- GridViewRow.cs
- EdmSchemaError.cs
- OSEnvironmentHelper.cs
- InstanceDataCollectionCollection.cs
- GenericAuthenticationEventArgs.cs
- GridProviderWrapper.cs
- EntityObject.cs
- ChainOfResponsibility.cs
- SqlSupersetValidator.cs
- PathFigureCollection.cs
- PersistenceException.cs
- DynamicDiscoSearcher.cs
- AvTrace.cs
- xmlsaver.cs
- StructuredProperty.cs
- RecognitionResult.cs
- SmtpSection.cs
- AtomMaterializerLog.cs
- TrackingProfileDeserializationException.cs
- BrushMappingModeValidation.cs
- HttpVersion.cs
- UnsafeNativeMethods.cs
- PageSettings.cs
- IDReferencePropertyAttribute.cs
- ClientConfigurationSystem.cs
- SystemColorTracker.cs
- HttpHandlerActionCollection.cs
- RoutedEventArgs.cs
- X509Utils.cs
- InputLanguage.cs
- TableCellCollection.cs
- BufferedStream.cs
- DbTransaction.cs
- ToggleProviderWrapper.cs
- AuthenticatedStream.cs
- CharAnimationUsingKeyFrames.cs
- SchemaCollectionCompiler.cs
- TheQuery.cs
- Highlights.cs