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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- StyleModeStack.cs
- ChtmlFormAdapter.cs
- WindowsEditBoxRange.cs
- SiteMapPath.cs
- NavigationCommands.cs
- ToolStripRenderer.cs
- InheritanceRules.cs
- DataSourceXmlClassAttribute.cs
- EncryptedData.cs
- DataList.cs
- InstanceDataCollectionCollection.cs
- ConnectionManagementElementCollection.cs
- HttpApplication.cs
- Expander.cs
- ConnectivityStatus.cs
- BreakRecordTable.cs
- StringValueSerializer.cs
- EpmCustomContentDeSerializer.cs
- CreateUserErrorEventArgs.cs
- BuildDependencySet.cs
- InternalUserCancelledException.cs
- Configuration.cs
- TemplateControl.cs
- VectorAnimation.cs
- HtmlInputImage.cs
- HttpModulesSection.cs
- MsmqIntegrationBindingElement.cs
- SettingsAttributeDictionary.cs
- RegexGroupCollection.cs
- CodeDOMUtility.cs
- ContractMapping.cs
- Zone.cs
- Repeater.cs
- CodeLabeledStatement.cs
- GCHandleCookieTable.cs
- WebPartZoneBase.cs
- PartialClassGenerationTask.cs
- TranslateTransform3D.cs
- AnnotationAdorner.cs
- TextOutput.cs
- shaper.cs
- CellParaClient.cs
- BitmapCodecInfoInternal.cs
- Item.cs
- FontWeightConverter.cs
- AndMessageFilterTable.cs
- GeometryModel3D.cs
- EntityDataSourceContainerNameItem.cs
- DataGridViewComboBoxEditingControl.cs
- SqlDuplicator.cs
- TypeContext.cs
- XsdDateTime.cs
- Comparer.cs
- Journaling.cs
- AssertHelper.cs
- ControlBuilderAttribute.cs
- WebException.cs
- TrackingQueryElement.cs
- DateTimeAutomationPeer.cs
- PerfService.cs
- XmlBoundElement.cs
- BindingGroup.cs
- PermissionSetTriple.cs
- WebPartConnectionsCancelVerb.cs
- DataObjectFieldAttribute.cs
- FactoryMaker.cs
- ModifiableIteratorCollection.cs
- DataControlPagerLinkButton.cs
- WebPartDescription.cs
- HebrewNumber.cs
- ListViewItem.cs
- WebPartMenuStyle.cs
- StatusBarItem.cs
- XmlEntityReference.cs
- DirectoryInfo.cs
- XmlMapping.cs
- AtlasWeb.Designer.cs
- ParameterModifier.cs
- InfoCardArgumentException.cs
- TrustManagerMoreInformation.cs
- CollectionConverter.cs
- SqlConnectionHelper.cs
- FileCodeGroup.cs
- WebScriptMetadataMessageEncoderFactory.cs
- ThreadPoolTaskScheduler.cs
- UIElement.cs
- XmlReaderDelegator.cs
- DoubleAnimation.cs
- TextSelectionProcessor.cs
- XNodeNavigator.cs
- DataServiceRequestException.cs
- SaveLedgerEntryRequest.cs
- QuadraticBezierSegment.cs
- DatatypeImplementation.cs
- TextLine.cs
- FormsAuthenticationCredentials.cs
- BindingSource.cs
- ResourceAssociationSet.cs
- XsltConvert.cs
- DataListItemCollection.cs