Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / Common / EntityRecordInfo.cs / 2 / EntityRecordInfo.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- namespace System.Data.Common { using System.Data; using System.Collections.Generic; using System.Data.Metadata.Edm; using System.Diagnostics; ////// EntityRecordInfo class providing a simple way to access both the type information and the column information. /// public class EntityRecordInfo : DataRecordInfo { private readonly EntityKey _entityKey; private readonly EntitySet _entitySet; ////// /// /// /// /// public EntityRecordInfo(EntityType metadata, IEnumerablememberInfo, EntityKey entityKey, EntitySet entitySet) : base(TypeUsage.Create(metadata), memberInfo) { EntityUtil.CheckArgumentNull (entityKey, "entityKey"); EntityUtil.CheckArgumentNull(entitySet, "entitySet"); _entityKey = entityKey; _entitySet = entitySet; ValidateEntityType(entitySet); } /// /// /// /// /// internal EntityRecordInfo(EntityType metadata, EntityKey entityKey, EntitySet entitySet) : base(TypeUsage.Create(metadata)) { EntityUtil.CheckArgumentNull(entityKey, "entityKey"); _entityKey = entityKey; _entitySet = entitySet; #if DEBUG try { ValidateEntityType(entitySet); } catch { Debug.Assert(false, "should always be valid EntityType when internally constructed"); throw; } #endif } /// /// Reusing TypeUsage and FieldMetadata from another EntityRecordInfo which has all the same info /// but with a different EntityKey instance. /// internal EntityRecordInfo(DataRecordInfo info, EntityKey entityKey, EntitySet entitySet) : base(info) { _entityKey = entityKey; _entitySet = entitySet; #if DEBUG try { ValidateEntityType(entitySet); } catch { Debug.Assert(false, "should always be valid EntityType when internally constructed"); throw; } #endif } ////// the EntityKey /// public EntityKey EntityKey { get { return _entityKey; } } // using EntitySetBase versus EntitySet prevents the unnecessary cast of ElementType to EntityType private void ValidateEntityType(EntitySetBase entitySet) { if (!object.ReferenceEquals(RecordType.EdmType, null) && !object.ReferenceEquals(_entityKey, EntityKey.EntityNotValidKey) && !object.ReferenceEquals(_entityKey, EntityKey.NoEntitySetKey) && !object.ReferenceEquals(RecordType.EdmType, entitySet.ElementType) && !entitySet.ElementType.IsBaseTypeOf(RecordType.EdmType)) { throw EntityUtil.Argument(System.Data.Entity.Strings.EntityTypesDoNotAgree); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- namespace System.Data.Common { using System.Data; using System.Collections.Generic; using System.Data.Metadata.Edm; using System.Diagnostics; ////// EntityRecordInfo class providing a simple way to access both the type information and the column information. /// public class EntityRecordInfo : DataRecordInfo { private readonly EntityKey _entityKey; private readonly EntitySet _entitySet; ////// /// /// /// /// public EntityRecordInfo(EntityType metadata, IEnumerablememberInfo, EntityKey entityKey, EntitySet entitySet) : base(TypeUsage.Create(metadata), memberInfo) { EntityUtil.CheckArgumentNull (entityKey, "entityKey"); EntityUtil.CheckArgumentNull(entitySet, "entitySet"); _entityKey = entityKey; _entitySet = entitySet; ValidateEntityType(entitySet); } /// /// /// /// /// internal EntityRecordInfo(EntityType metadata, EntityKey entityKey, EntitySet entitySet) : base(TypeUsage.Create(metadata)) { EntityUtil.CheckArgumentNull(entityKey, "entityKey"); _entityKey = entityKey; _entitySet = entitySet; #if DEBUG try { ValidateEntityType(entitySet); } catch { Debug.Assert(false, "should always be valid EntityType when internally constructed"); throw; } #endif } /// /// Reusing TypeUsage and FieldMetadata from another EntityRecordInfo which has all the same info /// but with a different EntityKey instance. /// internal EntityRecordInfo(DataRecordInfo info, EntityKey entityKey, EntitySet entitySet) : base(info) { _entityKey = entityKey; _entitySet = entitySet; #if DEBUG try { ValidateEntityType(entitySet); } catch { Debug.Assert(false, "should always be valid EntityType when internally constructed"); throw; } #endif } ////// the EntityKey /// public EntityKey EntityKey { get { return _entityKey; } } // using EntitySetBase versus EntitySet prevents the unnecessary cast of ElementType to EntityType private void ValidateEntityType(EntitySetBase entitySet) { if (!object.ReferenceEquals(RecordType.EdmType, null) && !object.ReferenceEquals(_entityKey, EntityKey.EntityNotValidKey) && !object.ReferenceEquals(_entityKey, EntityKey.NoEntitySetKey) && !object.ReferenceEquals(RecordType.EdmType, entitySet.ElementType) && !entitySet.ElementType.IsBaseTypeOf(RecordType.EdmType)) { throw EntityUtil.Argument(System.Data.Entity.Strings.EntityTypesDoNotAgree); } } } } // 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
- EntityContainerRelationshipSet.cs
- IsolatedStorageFileStream.cs
- TypeSystemHelpers.cs
- InputLanguage.cs
- BitmapPalette.cs
- _LoggingObject.cs
- MethodRental.cs
- EncoderBestFitFallback.cs
- LayoutEditorPart.cs
- EventsTab.cs
- CompiledAction.cs
- EventSource.cs
- SqlDependencyListener.cs
- SecurityElement.cs
- CapabilitiesPattern.cs
- Roles.cs
- COM2IProvidePropertyBuilderHandler.cs
- DocumentViewerHelper.cs
- SspiSecurityTokenParameters.cs
- precedingsibling.cs
- ArgumentException.cs
- XmlSchemaFacet.cs
- CodeGenerator.cs
- DeclarativeExpressionConditionDeclaration.cs
- TransformCollection.cs
- TreeNodeCollection.cs
- ApplicationSettingsBase.cs
- NetStream.cs
- ReflectionTypeLoadException.cs
- XmlDataProvider.cs
- ColorIndependentAnimationStorage.cs
- ValueTable.cs
- SecurityDocument.cs
- SizeF.cs
- SafeNativeMethodsMilCoreApi.cs
- TypeGeneratedEventArgs.cs
- ServiceReference.cs
- SiteMapPathDesigner.cs
- XamlSerializationHelper.cs
- Permission.cs
- ToolStripContainerDesigner.cs
- Selection.cs
- CreatingCookieEventArgs.cs
- XmlSchemaSimpleTypeUnion.cs
- ProfilePropertyMetadata.cs
- ConnectivityStatus.cs
- FontCollection.cs
- NodeFunctions.cs
- StagingAreaInputItem.cs
- OLEDB_Util.cs
- UserControlParser.cs
- XmlSerializableWriter.cs
- InputProcessorProfiles.cs
- webclient.cs
- CqlQuery.cs
- HtmlSelect.cs
- XmlQualifiedNameTest.cs
- TextLineResult.cs
- AnnotationAuthorChangedEventArgs.cs
- EntityConnection.cs
- PersonalizationStateInfoCollection.cs
- RoutedEventArgs.cs
- TextBox.cs
- D3DImage.cs
- _ListenerAsyncResult.cs
- WindowsIdentity.cs
- XmlUtil.cs
- ControlPropertyNameConverter.cs
- Compilation.cs
- SafeHGlobalHandleCritical.cs
- HtmlWindow.cs
- ObjectDataSourceDisposingEventArgs.cs
- KoreanCalendar.cs
- Condition.cs
- TextUtf8RawTextWriter.cs
- SqlUtils.cs
- FixedSOMImage.cs
- OdbcCommand.cs
- AmbientLight.cs
- WebPartConnectionsCloseVerb.cs
- TextDataBindingHandler.cs
- CustomErrorCollection.cs
- FastEncoder.cs
- UserControlParser.cs
- Registry.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- BitmapScalingModeValidation.cs
- QueryOptionExpression.cs
- XmlSchemaAppInfo.cs
- ReadOnlyAttribute.cs
- OperationAbortedException.cs
- AutomationIdentifier.cs
- AxImporter.cs
- UidPropertyAttribute.cs
- Double.cs
- CollectionBase.cs
- InputLangChangeRequestEvent.cs
- HttpApplication.cs
- PeerChannelListener.cs
- Operator.cs