Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DLinq / Dlinq / Mapping / Attributes.cs / 1305376 / Attributes.cs
using System; using System.Collections.Generic; using System.Text; using System.Diagnostics.CodeAnalysis; namespace System.Data.Linq.Mapping { ////// Attribute placed on a method mapped to a User Defined Function. /// [AttributeUsage(AttributeTargets.Method, AllowMultiple = false)] public sealed class FunctionAttribute : Attribute { string name; bool isComposable; public FunctionAttribute() { } public string Name { get { return this.name; } set { this.name = value; } } [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Composable", Justification="Spelling is correct.")] public bool IsComposable { get { return this.isComposable; } set { this.isComposable = value; } } } ////// This attribute is applied to functions returning multiple result types, /// to declare the possible result types returned from the function. For /// inheritance types, only the root type of the inheritance hierarchy need /// be specified. /// [AttributeUsage(AttributeTargets.Method, AllowMultiple = true)] public sealed class ResultTypeAttribute : Attribute { Type type; public ResultTypeAttribute(Type type) { this.type = type; } [SuppressMessage("Microsoft.Naming", "CA1721:PropertyNamesShouldNotMatchGetMethods", Justification = "The contexts in which this is available are fairly specific.")] public Type Type { get { return this.type; } } } [AttributeUsage(AttributeTargets.Parameter | AttributeTargets.ReturnValue, AllowMultiple = false)] public sealed class ParameterAttribute : Attribute { string name; string dbType; public ParameterAttribute() { } public string Name { get { return this.name; } set { this.name = value; } } [SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db", Justification = "Conforms to legacy spelling.")] public string DbType { get { return this.dbType; } set { this.dbType = value; } } } [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] public sealed class DatabaseAttribute : Attribute { string name; public DatabaseAttribute() { } public string Name { get { return this.name; } set { this.name = value; } } } [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)] public sealed class TableAttribute : Attribute { string name; public TableAttribute() { } public string Name { get { return this.name; } set { this.name = value; } } } ////// Class attribute used to describe an inheritance hierarchy to be mapped. /// For example, /// /// [Table(Name = "People")] /// [InheritanceMapping(Code = "P", Type = typeof(Person), IsDefault=true)] /// [InheritanceMapping(Code = "C", Type = typeof(Customer))] /// [InheritanceMapping(Code = "E", Type = typeof(Employee))] /// class Person { ... } /// /// [AttributeUsage(AttributeTargets.Class, AllowMultiple=true, Inherited = false)] public sealed class InheritanceMappingAttribute : Attribute { private object code; private Type type; private bool isDefault; ////// Discriminator value in store column for this type. /// public object Code { get { return this.code; } set { this.code = value; } } ////// Type to instantiate when Key is matched. /// [SuppressMessage("Microsoft.Naming", "CA1721:PropertyNamesShouldNotMatchGetMethods", Justification="The contexts in which this is available are fairly specific.")] public Type Type { get { return this.type; } set { this.type = value; } } ////// If discriminator value in store column is unrecognized then instantiate this type. /// public bool IsDefault { get { return this.isDefault; } set { this.isDefault = value; } } } public abstract class DataAttribute : Attribute { string name; string storage; protected DataAttribute() { } public string Name { get { return this.name; } set { name = value; } } public string Storage { get { return this.storage; } set { this.storage = value; } } } public enum UpdateCheck { Always, Never, WhenChanged } ////// Used to specify for during insert and update operations when /// a data member should be read back after the operation completes. /// public enum AutoSync { Default = 0, // Automatically choose Always = 1, Never = 2, OnInsert = 3, OnUpdate = 4 } [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = false)] public sealed class ColumnAttribute : DataAttribute { string dbtype; string expression; bool isPrimaryKey; bool isDBGenerated; bool isVersion; bool isDiscriminator; bool canBeNull = true; UpdateCheck check; AutoSync autoSync = AutoSync.Default; bool canBeNullSet = false; public ColumnAttribute() { check = UpdateCheck.Always; } [SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db", Justification="Conforms to legacy spelling.")] public string DbType { get { return this.dbtype; } set { this.dbtype = value; } } public string Expression { get { return this.expression; } set { this.expression = value; } } public bool IsPrimaryKey { get { return this.isPrimaryKey; } set { this.isPrimaryKey = value; } } [SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db", Justification = "Conforms to legacy spelling.")] public bool IsDbGenerated { get { return this.isDBGenerated; } set { this.isDBGenerated = value; } } public bool IsVersion { get { return this.isVersion; } set { this.isVersion = value; } } public UpdateCheck UpdateCheck { get { return this.check; } set { this.check = value; } } public AutoSync AutoSync { get { return this.autoSync; } set { this.autoSync = value; } } public bool IsDiscriminator { get { return this.isDiscriminator; } set { isDiscriminator = value; } } public bool CanBeNull { get {return this.canBeNull;} set { this.canBeNullSet = true; this.canBeNull = value; } } internal bool CanBeNullSet { get {return this.canBeNullSet;} } } [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = false)] public sealed class AssociationAttribute : DataAttribute { string thisKey; string otherKey; bool isUnique; bool isForeignKey; bool deleteOnNull; string deleteRule; public AssociationAttribute() { } public string ThisKey { get { return this.thisKey; } set { this.thisKey = value; } } public string OtherKey { get { return this.otherKey; } set { this.otherKey = value; } } public bool IsUnique { get { return this.isUnique; } set { this.isUnique = value; } } public bool IsForeignKey { get { return this.isForeignKey; } set { this.isForeignKey = value; } } public string DeleteRule { get { return this.deleteRule; } set { this.deleteRule = value; } } public bool DeleteOnNull { get { return this.deleteOnNull; } set { this.deleteOnNull = value; } } } [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] public sealed class ProviderAttribute : Attribute { Type providerType; public ProviderAttribute() { } public ProviderAttribute(Type type) { this.providerType = type; } [SuppressMessage("Microsoft.Naming", "CA1721:PropertyNamesShouldNotMatchGetMethods", Justification = "The contexts in which this is available are fairly specific.")] public Type Type { get { return this.providerType; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ZipIOExtraFieldPaddingElement.cs
- DSASignatureDeformatter.cs
- hwndwrapper.cs
- TextDecorationCollection.cs
- GridEntry.cs
- Queue.cs
- XmlValidatingReader.cs
- BasicHttpBinding.cs
- TypeElement.cs
- AuthorizationRule.cs
- ReaderWriterLockSlim.cs
- FlowNode.cs
- ThreadInterruptedException.cs
- ErrorProvider.cs
- BitmapEffect.cs
- SqlMetaData.cs
- DataGridViewRowPrePaintEventArgs.cs
- LongValidatorAttribute.cs
- SynchronizedInputPattern.cs
- ChangeBlockUndoRecord.cs
- PictureBox.cs
- DataPagerFieldCommandEventArgs.cs
- ToolBarButtonClickEvent.cs
- XamlFilter.cs
- XPathMessageContext.cs
- UpDownEvent.cs
- RedirectionProxy.cs
- SemanticAnalyzer.cs
- ToolStripDropDownItem.cs
- LinearQuaternionKeyFrame.cs
- HwndTarget.cs
- PenLineCapValidation.cs
- ListDictionary.cs
- WebPartRestoreVerb.cs
- CompensatableTransactionScopeActivity.cs
- InputLanguage.cs
- EventProviderWriter.cs
- RuleConditionDialog.Designer.cs
- Publisher.cs
- SqlProviderServices.cs
- ValidationErrorCollection.cs
- CFGGrammar.cs
- BindingSource.cs
- WebPartZoneDesigner.cs
- CommandManager.cs
- UserControl.cs
- CapabilitiesAssignment.cs
- TranslateTransform.cs
- FixedTextContainer.cs
- BitmapImage.cs
- assertwrapper.cs
- TextEndOfSegment.cs
- DataControlFieldHeaderCell.cs
- ConnectionProviderAttribute.cs
- HideDisabledControlAdapter.cs
- OleDbPropertySetGuid.cs
- FlowPanelDesigner.cs
- LinearKeyFrames.cs
- WebPartEditorApplyVerb.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- SchemaImporter.cs
- TypeDescriptionProvider.cs
- NoPersistHandle.cs
- DataBindingHandlerAttribute.cs
- DataException.cs
- DetailsViewPagerRow.cs
- MarginCollapsingState.cs
- XsltFunctions.cs
- HttpFileCollection.cs
- XmlMapping.cs
- BufferModesCollection.cs
- PositiveTimeSpanValidator.cs
- Zone.cs
- ResourceProperty.cs
- ProfileSection.cs
- InstanceStoreQueryResult.cs
- HttpListenerResponse.cs
- BulletChrome.cs
- StringPropertyBuilder.cs
- SafeNativeMethods.cs
- MembershipPasswordException.cs
- ComplexTypeEmitter.cs
- ListBoxChrome.cs
- SqlDataSourceEnumerator.cs
- ExtendedPropertyDescriptor.cs
- ToolboxDataAttribute.cs
- PropertyGridView.cs
- CqlLexer.cs
- HashUtility.cs
- EntityContainerAssociationSetEnd.cs
- DataGridViewBindingCompleteEventArgs.cs
- UnmanagedMarshal.cs
- _emptywebproxy.cs
- HtmlInputControl.cs
- DbExpressionBuilder.cs
- SkipStoryboardToFill.cs
- SeparatorAutomationPeer.cs
- WsdlBuildProvider.cs
- RightNameExpirationInfoPair.cs
- NamedPipeChannelListener.cs