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
- ExpressionVisitor.cs
- ObjectSecurity.cs
- ItemCollection.cs
- GCHandleCookieTable.cs
- Unit.cs
- WebDescriptionAttribute.cs
- DSACryptoServiceProvider.cs
- ApplicationServiceManager.cs
- Scheduler.cs
- XmlValidatingReader.cs
- DataSource.cs
- UmAlQuraCalendar.cs
- HatchBrush.cs
- CompilationSection.cs
- DefaultHttpHandler.cs
- TranslateTransform3D.cs
- DbConnectionFactory.cs
- ObjectResult.cs
- AudioBase.cs
- BaseResourcesBuildProvider.cs
- BamlResourceDeserializer.cs
- BufferBuilder.cs
- BaseUriHelper.cs
- QuestionEventArgs.cs
- COSERVERINFO.cs
- EditorPartChrome.cs
- EntityContainerAssociationSetEnd.cs
- MessageUtil.cs
- MaskedTextProvider.cs
- PasswordRecoveryDesigner.cs
- ActivityCodeDomSerializer.cs
- RegexMatchCollection.cs
- exports.cs
- SafeArrayRankMismatchException.cs
- webproxy.cs
- WebServiceParameterData.cs
- Touch.cs
- ACE.cs
- LabelDesigner.cs
- ProcessModuleDesigner.cs
- WindowsListViewSubItem.cs
- XmlCDATASection.cs
- GeometryDrawing.cs
- XmlSchemaSimpleContent.cs
- SequenceDesignerAccessibleObject.cs
- XmlHierarchicalEnumerable.cs
- MouseOverProperty.cs
- UserControl.cs
- DataColumnMappingCollection.cs
- CheckedListBox.cs
- HitTestFilterBehavior.cs
- precedingquery.cs
- Rules.cs
- EmissiveMaterial.cs
- Helpers.cs
- Pens.cs
- ConsoleEntryPoint.cs
- Transform.cs
- PropertyMap.cs
- XmlHierarchicalEnumerable.cs
- BamlTreeMap.cs
- SerializerWriterEventHandlers.cs
- DataGridColumnHeaderCollection.cs
- ControlBuilder.cs
- AppDomain.cs
- ConfigurationSectionGroup.cs
- XamlTypeMapperSchemaContext.cs
- PermissionListSet.cs
- HttpResponseInternalWrapper.cs
- CharacterBuffer.cs
- NativeMethods.cs
- ProfileSettingsCollection.cs
- XPathAncestorIterator.cs
- SQLChars.cs
- StringAnimationUsingKeyFrames.cs
- SmiContext.cs
- BrowserTree.cs
- Token.cs
- WebScriptEndpoint.cs
- HTTPNotFoundHandler.cs
- ConfigurationManagerInternalFactory.cs
- BreakRecordTable.cs
- HMACSHA1.cs
- ProgressiveCrcCalculatingStream.cs
- ReadOnlyCollectionBase.cs
- QilLoop.cs
- IisNotInstalledException.cs
- FocusTracker.cs
- StringPropertyBuilder.cs
- UniqueID.cs
- ScrollViewerAutomationPeer.cs
- ObjectStateManager.cs
- SecondaryIndex.cs
- SqlDataRecord.cs
- RuleSetBrowserDialog.cs
- SmiEventSink.cs
- SharedConnectionInfo.cs
- Stack.cs
- ElementHostPropertyMap.cs
- UnsafeNativeMethodsPenimc.cs