Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / Constraint.cs / 1305376 / Constraint.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //[....] //----------------------------------------------------------------------------- namespace System.Data { using System; using System.ComponentModel; using System.Globalization; ////// [ DefaultProperty("ConstraintName"), TypeConverter(typeof(ConstraintConverter)) ] public abstract class Constraint { internal String name = ""; private String _schemaName = ""; private bool inCollection = false; private DataSet dataSet = null; internal PropertyCollection extendedProperties = null; ///Represents a constraint that can be enforced on one or /// more ///objects. /// [ DefaultValue(""), ResDescriptionAttribute(Res.ConstraintNameDescr), ResCategoryAttribute(Res.DataCategory_Data) ] public virtual string ConstraintName { get { return name; } set { if (value == null) value = ""; if (Common.ADP.IsEmpty(value) && (Table != null) && InCollection) throw ExceptionBuilder.NoConstraintName(); CultureInfo locale = (Table != null ? Table.Locale : CultureInfo.CurrentCulture); if (String.Compare(name, value, true, locale) != 0) { if ((Table != null) && InCollection) { Table.Constraints.RegisterName(value); if (name.Length != 0) Table.Constraints.UnregisterName(name); } name = value; } else if (String.Compare(name, value, false, locale) != 0) { name = value; } } } internal String SchemaName { get { if (Common.ADP.IsEmpty(_schemaName)) return ConstraintName; else return _schemaName; } set { if (!Common.ADP.IsEmpty(value)) _schemaName = value; } } internal virtual bool InCollection { get { // ACCESSOR: virtual was missing from this get return inCollection; } set { inCollection = value; if (value) dataSet = Table.DataSet; else dataSet = null; } } ///The name of this constraint within the ////// . /// [ResDescriptionAttribute(Res.ConstraintTableDescr)] public abstract DataTable Table { get; } ///Gets the ///to which the constraint applies. /// [ ResCategoryAttribute(Res.DataCategory_Data), Browsable(false), ResDescriptionAttribute(Res.ExtendedPropertiesDescr) ] public PropertyCollection ExtendedProperties { get { if (extendedProperties == null) { extendedProperties = new PropertyCollection(); } return extendedProperties; } } internal abstract bool ContainsColumn(DataColumn column); internal abstract bool CanEnableConstraint(); internal abstract Constraint Clone(DataSet destination); internal abstract Constraint Clone(DataSet destination, bool ignoreNSforTableLookup); internal void CheckConstraint() { if (!CanEnableConstraint()) { throw ExceptionBuilder.ConstraintViolation(ConstraintName); } } internal abstract void CheckCanAddToCollection(ConstraintCollection constraint); internal abstract bool CanBeRemovedFromCollection(ConstraintCollection constraint, bool fThrowException); internal abstract void CheckConstraint(DataRow row, DataRowAction action); internal abstract void CheckState(); protected void CheckStateForProperty() { try { CheckState(); } catch (Exception e) { // if (!Common.ADP.IsCatchableExceptionType (e)) { throw; } throw ExceptionBuilder.BadObjectPropertyAccess(e.Message); } } ///Gets the collection of customized user information. ////// [CLSCompliant(false)] protected virtual DataSet _DataSet { get { return dataSet; } } ///Gets the ///to which this constraint belongs. /// protected internal void SetDataSet(DataSet dataSet) { this.dataSet = dataSet; } internal abstract bool IsConstraintViolated(); public override string ToString() { return ConstraintName; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.Sets the constraint's ///.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PkcsMisc.cs
- ObjectQuery.cs
- TogglePatternIdentifiers.cs
- NamespaceListProperty.cs
- UdpAnnouncementEndpoint.cs
- ExpressionValueEditor.cs
- ModuleConfigurationInfo.cs
- XPathNavigatorReader.cs
- UndoManager.cs
- CodeSnippetExpression.cs
- QueuePropertyVariants.cs
- TailPinnedEventArgs.cs
- newinstructionaction.cs
- CookieParameter.cs
- TextAnchor.cs
- ProxyHwnd.cs
- ZipIOFileItemStream.cs
- UnsafeNativeMethods.cs
- DBCommand.cs
- WebPartDisplayModeEventArgs.cs
- HMACRIPEMD160.cs
- wgx_commands.cs
- SiteMapProvider.cs
- SmtpClient.cs
- WebConfigurationManager.cs
- DBConcurrencyException.cs
- MD5CryptoServiceProvider.cs
- BodyGlyph.cs
- ReaderWriterLock.cs
- SiteMapDataSourceView.cs
- SingleAnimation.cs
- HttpCapabilitiesBase.cs
- TreeNodeStyleCollection.cs
- XmlILConstructAnalyzer.cs
- TextEditorMouse.cs
- DataObjectFieldAttribute.cs
- ListBoxAutomationPeer.cs
- BuildProvidersCompiler.cs
- IOException.cs
- MembershipPasswordException.cs
- ToolStripItemEventArgs.cs
- CircleEase.cs
- HttpListenerException.cs
- IApplicationTrustManager.cs
- TextEditorDragDrop.cs
- TypeUnloadedException.cs
- WorkflowInvoker.cs
- DefinitionBase.cs
- SyndicationContent.cs
- StyleXamlParser.cs
- ToolboxComponentsCreatingEventArgs.cs
- Variable.cs
- SqlConnectionPoolProviderInfo.cs
- _ConnectStream.cs
- WebPartMovingEventArgs.cs
- TaiwanLunisolarCalendar.cs
- RootNamespaceAttribute.cs
- XpsStructure.cs
- PointCollectionValueSerializer.cs
- RelationshipEndCollection.cs
- PasswordBoxAutomationPeer.cs
- OutputCacheProfileCollection.cs
- FrameworkTextComposition.cs
- TreeBuilderBamlTranslator.cs
- InputManager.cs
- RangeValuePatternIdentifiers.cs
- PenThreadWorker.cs
- Rights.cs
- Baml2006ReaderSettings.cs
- XmlWrappingReader.cs
- ParentControlDesigner.cs
- TypeSystem.cs
- MatrixCamera.cs
- ConvertEvent.cs
- ChangeTracker.cs
- HtmlFormWrapper.cs
- HashMembershipCondition.cs
- TrackingDataItem.cs
- AnimationStorage.cs
- FieldDescriptor.cs
- BlockUIContainer.cs
- BitmapDecoder.cs
- SiteMapDesignerDataSourceView.cs
- ValueUtilsSmi.cs
- BamlVersionHeader.cs
- HandlerElementCollection.cs
- RequestCache.cs
- DbModificationCommandTree.cs
- PersonalizablePropertyEntry.cs
- UserInitiatedRoutedEventPermissionAttribute.cs
- ButtonStandardAdapter.cs
- DropShadowBitmapEffect.cs
- DoubleAnimationUsingKeyFrames.cs
- WindowsListViewGroup.cs
- ListViewCommandEventArgs.cs
- AnnotationObservableCollection.cs
- XmlSchemaSimpleContentExtension.cs
- CounterSample.cs
- EndpointConfigContainer.cs
- DateTimeOffset.cs