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
- CheckBoxAutomationPeer.cs
- CodeTypeReferenceExpression.cs
- CombinedGeometry.cs
- UpdateDelegates.Generated.cs
- NamespaceQuery.cs
- DynamicMethod.cs
- RuleRefElement.cs
- ProfessionalColors.cs
- DelegateTypeInfo.cs
- RtfControls.cs
- DataListCommandEventArgs.cs
- NavigatingCancelEventArgs.cs
- SmtpDigestAuthenticationModule.cs
- Point4DConverter.cs
- FilteredDataSetHelper.cs
- TTSEngineTypes.cs
- XmlNodeReader.cs
- CompilerScopeManager.cs
- SafeSystemMetrics.cs
- DataListItemCollection.cs
- CounterCreationData.cs
- UInt16Storage.cs
- XmlReader.cs
- XmlSchemaGroupRef.cs
- UserPreferenceChangingEventArgs.cs
- WrapPanel.cs
- BindingNavigator.cs
- MemberHolder.cs
- ParserContext.cs
- LinqDataSourceInsertEventArgs.cs
- TextReader.cs
- BuildProviderCollection.cs
- CachedPathData.cs
- DBSchemaRow.cs
- PropertyChangingEventArgs.cs
- DataServiceResponse.cs
- NegotiateStream.cs
- DivideByZeroException.cs
- DictionaryBase.cs
- ListSortDescriptionCollection.cs
- EdmEntityTypeAttribute.cs
- loginstatus.cs
- RadialGradientBrush.cs
- X509Utils.cs
- XmlMemberMapping.cs
- HtmlDocument.cs
- EndpointConfigContainer.cs
- AccessControlList.cs
- JournalEntry.cs
- CombinedGeometry.cs
- SpellCheck.cs
- NativeMethodsCLR.cs
- Converter.cs
- SimpleWebHandlerParser.cs
- ExecutedRoutedEventArgs.cs
- XmlWrappingReader.cs
- ExecutedRoutedEventArgs.cs
- MouseEvent.cs
- ImmComposition.cs
- ParallelEnumerableWrapper.cs
- ObsoleteAttribute.cs
- URLAttribute.cs
- coordinator.cs
- CharacterMetrics.cs
- LambdaExpression.cs
- RegexCapture.cs
- TTSEngineTypes.cs
- WebPartActionVerb.cs
- CallbackWrapper.cs
- TripleDES.cs
- HttpListenerContext.cs
- AppDomainInstanceProvider.cs
- Assembly.cs
- FixedFlowMap.cs
- CompositeKey.cs
- WebSysDisplayNameAttribute.cs
- RegexCharClass.cs
- GridViewColumnCollection.cs
- DPTypeDescriptorContext.cs
- HwndSourceKeyboardInputSite.cs
- ApplicationServicesHostFactory.cs
- LedgerEntryCollection.cs
- DirectionalAction.cs
- WindowsEditBoxRange.cs
- MenuStrip.cs
- MatrixConverter.cs
- CertificateManager.cs
- ColorMap.cs
- QilFunction.cs
- XmlSchemaSet.cs
- DataFieldEditor.cs
- DataBindingCollection.cs
- CharKeyFrameCollection.cs
- TypeExtension.cs
- SqlBooleanMismatchVisitor.cs
- EmptyStringExpandableObjectConverter.cs
- RootBrowserWindowProxy.cs
- TableLayoutRowStyleCollection.cs
- ViewUtilities.cs
- ExpressionSelection.cs