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
- SimpleApplicationHost.cs
- XPathDocumentBuilder.cs
- TypeExtension.cs
- ManagementClass.cs
- TabOrder.cs
- BoolExpressionVisitors.cs
- TabItem.cs
- KnownTypeAttribute.cs
- EnumBuilder.cs
- ImportedNamespaceContextItem.cs
- TableItemStyle.cs
- DocumentGridPage.cs
- ConfigurationSettings.cs
- TypedMessageConverter.cs
- BoolLiteral.cs
- ComponentRenameEvent.cs
- HttpPostProtocolImporter.cs
- PeerNameRecordCollection.cs
- DesignerWidgets.cs
- PropertyValueUIItem.cs
- DataGridViewComboBoxColumn.cs
- Gdiplus.cs
- PartialTrustVisibleAssembly.cs
- InfocardExtendedInformationEntry.cs
- ColumnBinding.cs
- WpfKnownMemberInvoker.cs
- ZipIOExtraFieldPaddingElement.cs
- EntityDataSourceDataSelectionPanel.designer.cs
- SafeNativeMemoryHandle.cs
- ListComponentEditorPage.cs
- MsmqException.cs
- ApplicationSecurityManager.cs
- FileDialog_Vista_Interop.cs
- GridEntry.cs
- RotationValidation.cs
- DataException.cs
- _DomainName.cs
- XmlKeywords.cs
- recordstatefactory.cs
- ResourceReader.cs
- CallbackValidatorAttribute.cs
- DataSourceCache.cs
- Subtree.cs
- RC2.cs
- ParagraphResult.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- HtmlTextArea.cs
- ErrorTableItemStyle.cs
- SqlRowUpdatingEvent.cs
- DocumentScope.cs
- SqlLiftIndependentRowExpressions.cs
- TextPatternIdentifiers.cs
- SqlProcedureAttribute.cs
- NonSerializedAttribute.cs
- QueueSurrogate.cs
- HttpHandlersSection.cs
- DependencyObject.cs
- DragDeltaEventArgs.cs
- RepeatBehavior.cs
- ConversionHelper.cs
- ObjectDataSourceMethodEditor.cs
- DataBindingCollection.cs
- DataGridViewEditingControlShowingEventArgs.cs
- InputMethodStateChangeEventArgs.cs
- BinaryMessageEncoder.cs
- PenLineJoinValidation.cs
- MatrixCamera.cs
- DataControlFieldCollection.cs
- IPEndPointCollection.cs
- TextEditorContextMenu.cs
- TextSelectionHelper.cs
- Trace.cs
- HttpChannelFactory.cs
- precedingsibling.cs
- Visitors.cs
- SessionStateSection.cs
- InternalConfigConfigurationFactory.cs
- ReliabilityContractAttribute.cs
- WhitespaceSignificantCollectionAttribute.cs
- QilStrConcat.cs
- TypeConstant.cs
- ObjectToIdCache.cs
- Attributes.cs
- XmlMembersMapping.cs
- SspiWrapper.cs
- RemotingConfiguration.cs
- PrefixQName.cs
- DataBindingCollection.cs
- BamlBinaryWriter.cs
- Error.cs
- Menu.cs
- Canvas.cs
- PointLightBase.cs
- KeyProperty.cs
- View.cs
- XmlSchemaType.cs
- HostElement.cs
- TypeDescriptor.cs
- securitycriticaldataClass.cs
- WebConfigurationHostFileChange.cs