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
- XmlSchema.cs
- translator.cs
- AutomationIdentifierGuids.cs
- TableRow.cs
- NumberFormatter.cs
- CustomErrorsSectionWrapper.cs
- complextypematerializer.cs
- XsdBuildProvider.cs
- UnsafeNativeMethods.cs
- Cloud.cs
- ApplicationDirectoryMembershipCondition.cs
- GridViewSelectEventArgs.cs
- IndentTextWriter.cs
- DSACryptoServiceProvider.cs
- KeyManager.cs
- ListItemCollection.cs
- XmlWellformedWriter.cs
- NullableIntSumAggregationOperator.cs
- FixedSOMPageElement.cs
- _SecureChannel.cs
- ExecutionContext.cs
- AssemblyGen.cs
- QilVisitor.cs
- WebPartConnectionsConnectVerb.cs
- SiteMapNodeCollection.cs
- GradientStop.cs
- QilExpression.cs
- SessionSymmetricTransportSecurityProtocolFactory.cs
- RightsManagementPermission.cs
- PublishLicense.cs
- ExpressionBinding.cs
- MonikerProxyAttribute.cs
- MemberPath.cs
- StylusButtonEventArgs.cs
- ErrorTolerantObjectWriter.cs
- ExpressionParser.cs
- Util.cs
- RSAOAEPKeyExchangeDeformatter.cs
- AssemblyFilter.cs
- AlgoModule.cs
- ConnectionManager.cs
- GridToolTip.cs
- DetailsViewRowCollection.cs
- DataTemplateKey.cs
- ServiceModelReg.cs
- HttpGetClientProtocol.cs
- XamlParser.cs
- QilInvokeLateBound.cs
- SharedUtils.cs
- GestureRecognizer.cs
- HttpCapabilitiesSectionHandler.cs
- GradientStop.cs
- HwndKeyboardInputProvider.cs
- ErrorEventArgs.cs
- ImageMap.cs
- mediapermission.cs
- PackagePart.cs
- COMException.cs
- QueryRewriter.cs
- TemplateModeChangedEventArgs.cs
- EpmCustomContentSerializer.cs
- MetafileHeaderWmf.cs
- OutputCacheModule.cs
- StrongNameKeyPair.cs
- BamlResourceSerializer.cs
- figurelengthconverter.cs
- _TimerThread.cs
- MailFileEditor.cs
- Int32CAMarshaler.cs
- VisualSerializer.cs
- EntityRecordInfo.cs
- mda.cs
- AppSecurityManager.cs
- _ConnectStream.cs
- ContentHostHelper.cs
- ClientSettingsStore.cs
- FixUp.cs
- ModuleElement.cs
- X509Certificate2.cs
- _RequestCacheProtocol.cs
- QilGenerator.cs
- XmlSiteMapProvider.cs
- Size3DConverter.cs
- SystemNetworkInterface.cs
- keycontainerpermission.cs
- TextContainerChangedEventArgs.cs
- Canvas.cs
- TemplatedAdorner.cs
- SchemaImporterExtensionsSection.cs
- DbCommandTree.cs
- CategoryAttribute.cs
- ArrayList.cs
- CodeAccessPermission.cs
- FileNotFoundException.cs
- HttpClientCertificate.cs
- IteratorDescriptor.cs
- Preprocessor.cs
- FunctionQuery.cs
- CodeDirectoryCompiler.cs
- AppliedDeviceFiltersDialog.cs