Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataEntity / System / Data / Common / EntityRecordInfo.cs / 1 / 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
- LineGeometry.cs
- GregorianCalendarHelper.cs
- CodeSubDirectoriesCollection.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- InternalCache.cs
- RouteData.cs
- pingexception.cs
- SHA384.cs
- filewebrequest.cs
- EdmTypeAttribute.cs
- DbProviderSpecificTypePropertyAttribute.cs
- AudienceUriMode.cs
- Util.cs
- SymbolEqualComparer.cs
- CodeAttributeDeclaration.cs
- PasswordDeriveBytes.cs
- WebSysDisplayNameAttribute.cs
- ComponentEditorPage.cs
- ClientRuntimeConfig.cs
- MouseActionConverter.cs
- HTTPAPI_VERSION.cs
- TextParagraphProperties.cs
- PersistChildrenAttribute.cs
- RNGCryptoServiceProvider.cs
- ListViewInsertEventArgs.cs
- LinkTarget.cs
- AbstractSvcMapFileLoader.cs
- CommentAction.cs
- WebResponse.cs
- Content.cs
- StructuredTypeEmitter.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- DataSourceHelper.cs
- EndpointAddress10.cs
- XmlUtf8RawTextWriter.cs
- GifBitmapDecoder.cs
- FontUnit.cs
- XmlTextWriter.cs
- InvalidContentTypeException.cs
- User.cs
- FlowDocumentPage.cs
- GridViewDeleteEventArgs.cs
- DataSourceXmlTextReader.cs
- RefType.cs
- LOSFormatter.cs
- DescendantBaseQuery.cs
- CodeDelegateCreateExpression.cs
- ListBase.cs
- WSSecureConversation.cs
- CategoryGridEntry.cs
- SafeNativeMethodsCLR.cs
- DataColumnMapping.cs
- CodeTypeReferenceCollection.cs
- ObjectContextServiceProvider.cs
- ValidatorCompatibilityHelper.cs
- ChildDocumentBlock.cs
- MailAddressParser.cs
- WindowsGrip.cs
- CustomServiceCredentials.cs
- MessageFault.cs
- MemoryStream.cs
- MSAAEventDispatcher.cs
- SparseMemoryStream.cs
- ObjectTypeMapping.cs
- RuntimeConfigLKG.cs
- InstanceHandle.cs
- FontDriver.cs
- RegexRunner.cs
- PenContext.cs
- MatrixConverter.cs
- TrustVersion.cs
- ListenerElementsCollection.cs
- validationstate.cs
- EnumerableRowCollection.cs
- TypeConverterHelper.cs
- AttachedPropertyBrowsableAttribute.cs
- CodeDelegateCreateExpression.cs
- PublisherMembershipCondition.cs
- DesignerVerbCollection.cs
- TiffBitmapEncoder.cs
- QueryGenerator.cs
- IfJoinedCondition.cs
- SimpleBitVector32.cs
- ExpressionBuilder.cs
- BezierSegment.cs
- MetadataArtifactLoaderResource.cs
- ComboBoxAutomationPeer.cs
- XmlName.cs
- TemplateInstanceAttribute.cs
- FileIOPermission.cs
- UnicastIPAddressInformationCollection.cs
- XmlNamedNodeMap.cs
- UInt16Converter.cs
- SqlExpander.cs
- AnimationLayer.cs
- PageBuildProvider.cs
- FileRecordSequence.cs
- EllipseGeometry.cs
- WindowsIdentity.cs
- UInt32Converter.cs