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
- Vector3DKeyFrameCollection.cs
- HasCopySemanticsAttribute.cs
- Helpers.cs
- PointAnimation.cs
- MachineKeySection.cs
- LicenseContext.cs
- WindowsImpersonationContext.cs
- SplayTreeNode.cs
- RemotingConfiguration.cs
- SocketPermission.cs
- DmlSqlGenerator.cs
- FixedDocumentPaginator.cs
- Win32SafeHandles.cs
- SQLResource.cs
- RectAnimationClockResource.cs
- AutomationPropertyChangedEventArgs.cs
- SingleConverter.cs
- ExpressionEditorSheet.cs
- XamlGridLengthSerializer.cs
- AsyncCodeActivityContext.cs
- RemotingHelper.cs
- OrthographicCamera.cs
- ImageIndexConverter.cs
- CodeStatementCollection.cs
- StringUtil.cs
- XPathDescendantIterator.cs
- SingleKeyFrameCollection.cs
- CompositeFontFamily.cs
- RootBrowserWindowAutomationPeer.cs
- XmlDataImplementation.cs
- IntermediatePolicyValidator.cs
- DocumentationServerProtocol.cs
- BinaryFormatter.cs
- BitmapEffectInputData.cs
- RewritingSimplifier.cs
- ProcessModelInfo.cs
- MenuItemBindingCollection.cs
- ExpressionDumper.cs
- ImageListUtils.cs
- MouseButtonEventArgs.cs
- FrameworkElementAutomationPeer.cs
- TypeAccessException.cs
- ViewRendering.cs
- PositiveTimeSpanValidatorAttribute.cs
- LostFocusEventManager.cs
- DataGridViewSelectedColumnCollection.cs
- SymbolMethod.cs
- PriorityChain.cs
- CustomAssemblyResolver.cs
- ObsoleteAttribute.cs
- FieldAccessException.cs
- WebSysDisplayNameAttribute.cs
- IFlowDocumentViewer.cs
- SimpleParser.cs
- Pair.cs
- AuthenticateEventArgs.cs
- ProtectedConfiguration.cs
- XhtmlBasicTextBoxAdapter.cs
- Popup.cs
- CachingHintValidation.cs
- Keyboard.cs
- PositiveTimeSpanValidator.cs
- ThicknessKeyFrameCollection.cs
- WindowsGraphics2.cs
- OLEDB_Enum.cs
- OdbcParameter.cs
- GridItem.cs
- MenuAutomationPeer.cs
- SQLDateTimeStorage.cs
- DocumentPageHost.cs
- SystemInformation.cs
- DefaultEventAttribute.cs
- CommandConverter.cs
- BitmapDecoder.cs
- RegularExpressionValidator.cs
- ErrorStyle.cs
- ObjectHelper.cs
- ItemCollection.cs
- GlobalItem.cs
- TransformGroup.cs
- LocatorPartList.cs
- CodeGen.cs
- NamedPipeConnectionPoolSettingsElement.cs
- ArrangedElementCollection.cs
- DataViewSetting.cs
- Transform3DGroup.cs
- CellCreator.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- ClientWindowsAuthenticationMembershipProvider.cs
- NavigationPropertyEmitter.cs
- SchemaImporter.cs
- WebControlParameterProxy.cs
- XmlSchemaAny.cs
- DelegateCompletionCallbackWrapper.cs
- JsonClassDataContract.cs
- TemplateGroupCollection.cs
- ErrorTableItemStyle.cs
- Quaternion.cs
- CheckableControlBaseAdapter.cs
- ScaleTransform.cs