Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntityDesign / Design / System / Data / EntityModel / Emitters / EntityTypeEmitter.cs / 1305376 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EntityDataSourceContextCreatedEventArgs.cs
- HttpModule.cs
- EventLogEntry.cs
- DesignerAttribute.cs
- StrongName.cs
- SecureStringHasher.cs
- AssociationTypeEmitter.cs
- HttpDigestClientElement.cs
- TracePayload.cs
- CodeCommentStatement.cs
- AppDomainAttributes.cs
- webeventbuffer.cs
- XPathAncestorIterator.cs
- CodeChecksumPragma.cs
- ADConnectionHelper.cs
- AdPostCacheSubstitution.cs
- StructuredType.cs
- ShadowGlyph.cs
- CodeStatement.cs
- CachedPathData.cs
- KeyboardDevice.cs
- CngKeyCreationParameters.cs
- SqlProfileProvider.cs
- AutoGeneratedField.cs
- NameValuePair.cs
- DurableServiceAttribute.cs
- StylusButtonCollection.cs
- XmlMemberMapping.cs
- NotConverter.cs
- VectorKeyFrameCollection.cs
- HwndHost.cs
- RenderTargetBitmap.cs
- UnsafeNativeMethods.cs
- SiteOfOriginContainer.cs
- DataKey.cs
- BatchStream.cs
- XmlSchemaAttributeGroupRef.cs
- LayoutUtils.cs
- XPathEmptyIterator.cs
- XmlSchemaExporter.cs
- StatusBarItemAutomationPeer.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- GridView.cs
- Random.cs
- MD5CryptoServiceProvider.cs
- XmlSchemaObject.cs
- CompressionTransform.cs
- LocalClientSecuritySettingsElement.cs
- DnsEndpointIdentity.cs
- ConnectionManagementElementCollection.cs
- BamlResourceContent.cs
- SoundPlayer.cs
- BinaryMethodMessage.cs
- RightsManagementEncryptedStream.cs
- SchemaImporterExtensionElement.cs
- DataContractFormatAttribute.cs
- MULTI_QI.cs
- BinHexDecoder.cs
- PasswordBox.cs
- EqualityComparer.cs
- OdbcStatementHandle.cs
- Binding.cs
- RequestResizeEvent.cs
- HtmlTitle.cs
- TypeLibConverter.cs
- MessageBox.cs
- SinglePageViewer.cs
- MaskedTextBoxTextEditorDropDown.cs
- ProfessionalColors.cs
- PassportAuthentication.cs
- MyContact.cs
- DescendentsWalkerBase.cs
- OperandQuery.cs
- CheckBoxPopupAdapter.cs
- TreeNodeStyleCollection.cs
- AttributeProviderAttribute.cs
- RijndaelManagedTransform.cs
- SchemaAttDef.cs
- TreeNodeMouseHoverEvent.cs
- SearchExpression.cs
- OutOfProcStateClientManager.cs
- HtmlInputCheckBox.cs
- DBSchemaRow.cs
- AudioLevelUpdatedEventArgs.cs
- BuildProvider.cs
- RelatedView.cs
- ProfileGroupSettings.cs
- DefaultExpression.cs
- FlowDocumentReaderAutomationPeer.cs
- StackOverflowException.cs
- AdapterDictionary.cs
- prompt.cs
- WorkflowRuntimeServiceElement.cs
- QuinticEase.cs
- CurrentChangedEventManager.cs
- EventProviderWriter.cs
- GeometryHitTestParameters.cs
- X509CertificateValidator.cs
- Point3DCollection.cs
- DrawListViewSubItemEventArgs.cs