Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Common / EntityRecordInfo.cs / 1305376 / 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
- HandleCollector.cs
- Constant.cs
- AnimationLayer.cs
- TextBoxAutomationPeer.cs
- SchemaMerger.cs
- Variant.cs
- SignedXmlDebugLog.cs
- OleDbRowUpdatedEvent.cs
- BuildResult.cs
- SurrogateSelector.cs
- ExpressionSelection.cs
- File.cs
- WebColorConverter.cs
- DriveNotFoundException.cs
- ToolStripItemCollection.cs
- DocumentsTrace.cs
- StrongNameIdentityPermission.cs
- CommonDialog.cs
- Line.cs
- GAC.cs
- InternalRelationshipCollection.cs
- ExtendedPropertyCollection.cs
- BitmapFrameDecode.cs
- ListBoxItemAutomationPeer.cs
- AssertHelper.cs
- EntityStoreSchemaGenerator.cs
- ImpersonateTokenRef.cs
- XPathSelfQuery.cs
- PersonalizablePropertyEntry.cs
- While.cs
- WebConfigurationHost.cs
- VerticalConnector.xaml.cs
- ComponentCodeDomSerializer.cs
- ColorAnimationUsingKeyFrames.cs
- DataRelation.cs
- ManagedFilter.cs
- XmlCharacterData.cs
- Resources.Designer.cs
- ZoneButton.cs
- ObjectStateEntry.cs
- DriveInfo.cs
- OleDbInfoMessageEvent.cs
- SponsorHelper.cs
- EventListener.cs
- DataGridViewBand.cs
- PageContentCollection.cs
- NeutralResourcesLanguageAttribute.cs
- ReflectionServiceProvider.cs
- sqlnorm.cs
- CodeStatement.cs
- EventPropertyMap.cs
- Rotation3D.cs
- TypeDelegator.cs
- PermissionSetEnumerator.cs
- InvokeMethod.cs
- FixedDSBuilder.cs
- RuleSettings.cs
- BuildResultCache.cs
- ComplexType.cs
- AssemblyAttributesGoHere.cs
- Rfc4050KeyFormatter.cs
- WindowsEditBoxRange.cs
- EncryptedData.cs
- MultipleViewProviderWrapper.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- CompositeControl.cs
- ListViewItemSelectionChangedEvent.cs
- TabletDevice.cs
- ConfigDefinitionUpdates.cs
- ElementHostPropertyMap.cs
- StylusPlugInCollection.cs
- SiteOfOriginContainer.cs
- EntityDesignerUtils.cs
- EdmToObjectNamespaceMap.cs
- ConfigurationValidatorAttribute.cs
- WebPartVerbsEventArgs.cs
- DataGridColumn.cs
- Certificate.cs
- ListView.cs
- QuaternionRotation3D.cs
- Selection.cs
- TreeViewHitTestInfo.cs
- InteropBitmapSource.cs
- ReversePositionQuery.cs
- XmlWriter.cs
- PageRequestManager.cs
- unitconverter.cs
- UseManagedPresentationBindingElement.cs
- SRef.cs
- InterleavedZipPartStream.cs
- TraceRecords.cs
- NamespaceInfo.cs
- DataGridCaption.cs
- SecurityResources.cs
- BamlLocalizationDictionary.cs
- CalendarTable.cs
- TextPattern.cs
- odbcmetadatafactory.cs
- DataGridTextBox.cs
- BaseResourcesBuildProvider.cs