AmendExpressionAttribute Class

Defines an attribute that will request amendment of a table name or field list with the specified text.

Definition

Namespace: Gemstone.Data.Model
Assembly: Gemstone.Data (in Gemstone.Data.dll) Version: 1.0.128 -- Release Build+cb657b646daac3e9cc5384ff42ed4530df50eab1
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true)]
public sealed class AmendExpressionAttribute : Attribute
Inheritance
Object    Attribute    AmendExpressionAttribute

Remarks

As an example, this can be used to add table hints, e.g., WITH (NOLOCK), for select statements in SQL Server.

Applying the AmendExpressionAttribute to a modeled table with no specified database type parameter will be meant to infer that the amendment be used for all database types. Using a specific database type as a parameter to the attribute, e.g., [AmendExpression("WITH (NOLOCK)", DatabaseType.SQLServer)], means the amendment text will only be applied to the specific database - however, the attribute allows multiple instances on the same identifier so you could specify that amendment application only be applied to two databases:

C#
[AmendExpression("AS T1", DatabaseType.SQLServer), AmendExpression("AS T1", DatabaseType.MySQL)]
Other parameters exist to fully customize target expression, set affix position and specify statement types:
C#
[AmendExpression("TOP 200",
    TargetExpression = TargetExpression.FieldList,
    AffixPosition = AffixPosition.Prefix,
    StatementTypes = StatementTypes.SelectSet)]

Constructors

AmendExpressionAttribute(String) Creates a new AmendExpressionAttribute that will request application of amendmentText for any database.
AmendExpressionAttribute(String, DatabaseType) Creates a new AmendExpressionAttribute that will request application of amendmentText for the specified targetDatabaseType.

Properties

AffixPosition Gets or sets location for amendment application; defaults to Suffix.
AmendmentText Gets or sets amendment text to be applied.
StatementTypes Gets or sets statement types for amendment application; defaults to Select.
TargetDatabaseType Gets target DatabaseType for amendment application.
TargetExpression Gets or sets target expression for amendment application; defaults to TableName.
TypeIdWhen implemented in a derived class, gets a unique identifier for this Attribute.
(Inherited from Attribute)

Methods

EqualsReturns a value that indicates whether this instance is equal to a specified object.
(Inherited from Attribute)
GetHashCodeReturns the hash code for this instance.
(Inherited from Attribute)
GetTypeGets the Type of the current instance.
(Inherited from Object)
IsDefaultAttributeWhen overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.
(Inherited from Attribute)
MatchWhen overridden in a derived class, returns a value that indicates whether this instance equals a specified object.
(Inherited from Attribute)
ToStringReturns a string that represents the current object.
(Inherited from Object)

See Also