Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Design / system / Data / EntityModel / Emitters / EntityTypeEmitter.cs / 1305376 / 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); } } } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA2204:Literals should be spelled correctly", MessageId = "KeyProperties")] [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = ".ctor")] 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); } } } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA2204:Literals should be spelled correctly", MessageId = "KeyProperties")] [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", MessageId = ".ctor")] 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
- AspCompat.cs
- ObjectCacheHost.cs
- followingsibling.cs
- FixedTextSelectionProcessor.cs
- IriParsingElement.cs
- BasicCellRelation.cs
- ParameterElement.cs
- EdmSchemaError.cs
- DataObjectSettingDataEventArgs.cs
- FixedDocument.cs
- Int16.cs
- WindowsToolbarAsMenu.cs
- StringBuilder.cs
- WebHttpElement.cs
- DataGridCaption.cs
- GeometryHitTestResult.cs
- SQLSingleStorage.cs
- IArgumentProvider.cs
- CurrentChangingEventManager.cs
- EditorZone.cs
- RadioButtonAutomationPeer.cs
- VirtualDirectoryMappingCollection.cs
- DefaultTextStoreTextComposition.cs
- KeyFrames.cs
- ProfileParameter.cs
- LoggedException.cs
- DecoderExceptionFallback.cs
- MD5CryptoServiceProvider.cs
- URLIdentityPermission.cs
- PackagePart.cs
- IconEditor.cs
- CodeTypeReferenceExpression.cs
- TraceLevelStore.cs
- BaseDataList.cs
- TimeoutValidationAttribute.cs
- HttpDictionary.cs
- Timer.cs
- ProgressiveCrcCalculatingStream.cs
- WindowsStatic.cs
- ElementHostAutomationPeer.cs
- _NestedMultipleAsyncResult.cs
- ResourceKey.cs
- DesignTimeXamlWriter.cs
- HMAC.cs
- RecognizedWordUnit.cs
- PageParserFilter.cs
- DataObject.cs
- XmlSchemaChoice.cs
- UnicodeEncoding.cs
- ProfilePropertyMetadata.cs
- ActivityStatusChangeEventArgs.cs
- RegexNode.cs
- TextServicesHost.cs
- BezierSegment.cs
- localization.cs
- XmlNavigatorFilter.cs
- DataGridColumnCollection.cs
- RC2.cs
- WmpBitmapEncoder.cs
- FontFamily.cs
- SmtpSection.cs
- IgnoreFlushAndCloseStream.cs
- DataConnectionHelper.cs
- DetailsViewPagerRow.cs
- CodeSnippetTypeMember.cs
- HttpServerUtilityBase.cs
- ToolZone.cs
- ListBase.cs
- LogConverter.cs
- XmlUrlResolver.cs
- TemplateColumn.cs
- XmlNotation.cs
- CodeObjectCreateExpression.cs
- PDBReader.cs
- XmlResolver.cs
- FullTextBreakpoint.cs
- WebPartMovingEventArgs.cs
- TdsEnums.cs
- StaticExtensionConverter.cs
- OdbcConnectionString.cs
- PropertyTab.cs
- SystemTcpStatistics.cs
- DataProtection.cs
- SqlWebEventProvider.cs
- PrintPreviewDialog.cs
- SizeKeyFrameCollection.cs
- HttpProfileBase.cs
- securitycriticaldataformultiplegetandset.cs
- SqlConnectionPoolGroupProviderInfo.cs
- ControlParameter.cs
- KeyConverter.cs
- Convert.cs
- ThemeDirectoryCompiler.cs
- ProvidersHelper.cs
- ObjectDataSourceFilteringEventArgs.cs
- _ChunkParse.cs
- SafePEFileHandle.cs
- ExpressionHelper.cs
- AnimationClock.cs
- FlowDocumentPage.cs