Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataEntityDesign / Design / System / Data / EntityModel / Emitters / EntityTypeEmitter.cs / 2 / 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
- UpdateCompiler.cs
- AdPostCacheSubstitution.cs
- PhonemeConverter.cs
- SubpageParagraph.cs
- ListViewSortEventArgs.cs
- WindowVisualStateTracker.cs
- QualificationDataItem.cs
- WebPartZoneBase.cs
- ProviderCommandInfoUtils.cs
- LinearGradientBrush.cs
- SqlAliaser.cs
- CheckBoxAutomationPeer.cs
- ExceptionValidationRule.cs
- ClientTargetCollection.cs
- DataGridViewColumnStateChangedEventArgs.cs
- UriSection.cs
- ZipPackagePart.cs
- SqlErrorCollection.cs
- SQLDouble.cs
- StickyNoteContentControl.cs
- Helpers.cs
- DataGridViewBindingCompleteEventArgs.cs
- Pen.cs
- CriticalHandle.cs
- HostingPreferredMapPath.cs
- DesignerExtenders.cs
- WebPartZoneAutoFormat.cs
- IisTraceWebEventProvider.cs
- UrlMappingsSection.cs
- XmlSerializerImportOptions.cs
- HWStack.cs
- TimeZoneInfo.cs
- FormView.cs
- SqlPersistenceProviderFactory.cs
- Subtree.cs
- ExpressionPrefixAttribute.cs
- LockingPersistenceProvider.cs
- PermissionRequestEvidence.cs
- ProvidersHelper.cs
- NullableBoolConverter.cs
- SafeWaitHandle.cs
- PaperSize.cs
- ToolTip.cs
- WebPartAddingEventArgs.cs
- StringResourceManager.cs
- NativeMethods.cs
- PermissionAttributes.cs
- ContractsBCL.cs
- ConfigurationSettings.cs
- ToolboxCategory.cs
- LiteralControl.cs
- loginstatus.cs
- HttpProfileBase.cs
- CommonDialog.cs
- MissingMemberException.cs
- SessionState.cs
- SqlSupersetValidator.cs
- AsymmetricSignatureDeformatter.cs
- SmtpLoginAuthenticationModule.cs
- XmlNullResolver.cs
- SamlSubject.cs
- Exception.cs
- TableLayoutColumnStyleCollection.cs
- ObjectPersistData.cs
- PlatformCulture.cs
- MD5.cs
- DropDownList.cs
- EpmSyndicationContentDeSerializer.cs
- XmlTextEncoder.cs
- HMACSHA1.cs
- GeneralTransformGroup.cs
- ProviderSettingsCollection.cs
- ConcatQueryOperator.cs
- SmtpLoginAuthenticationModule.cs
- HtmlShimManager.cs
- XmlObjectSerializerWriteContextComplex.cs
- XPathPatternParser.cs
- EventLogPermissionEntryCollection.cs
- Parameter.cs
- SqlParameterCollection.cs
- NoneExcludedImageIndexConverter.cs
- AssemblyFilter.cs
- InvalidAsynchronousStateException.cs
- QEncodedStream.cs
- SafeProcessHandle.cs
- WebPermission.cs
- DataGridViewRowsAddedEventArgs.cs
- XmlSchemaSimpleTypeRestriction.cs
- QuadraticBezierSegment.cs
- RestClientProxyHandler.cs
- MetadataAssemblyHelper.cs
- LinqDataSourceUpdateEventArgs.cs
- HostedTransportConfigurationBase.cs
- TemplatingOptionsDialog.cs
- ReflectionServiceProvider.cs
- ProxyWebPartConnectionCollection.cs
- Cursor.cs
- CurrencyWrapper.cs
- ZeroOpNode.cs
- IdnElement.cs