Table of Contents

Class PreserveNumbers

Namespace
YndigoBlue.Velocity.Attributes
Assembly
YndigoBlue.Velocity.dll

Overrides the record-level preserveNumbers setting for an individual property when using SnakeCase binding.

[AttributeUsage(AttributeTargets.Property)]
public class PreserveNumbers : Attribute
Inheritance
PreserveNumbers

Remarks

By default, SnakeCase binding uses the preserveNumbers flag set on Record<T> to decide whether digits are treated as their own word segment (AddressLine1address_line_1) or merged with adjacent text (AddressLine1address_line1).

Apply [PreserveNumbers] to a property when its column name convention differs from the rest of the class. For example, a class whose record is created with preserveNumbers = false can still map an individual property to address_line_1 by marking it [PreserveNumbers] (or [PreserveNumbers(true)]).

Examples

public class Address
{
    public string Street { get; set; }          // → street

    [PreserveNumbers]                            // → address_line_1
    public string AddressLine1 { get; set; }

    [PreserveNumbers(false)]                     // → address_line2
    public string AddressLine2 { get; set; }
}

Constructors

PreserveNumbers(bool)

Overrides the record-level number-preservation behaviour for this property.

Properties

Value

Gets whether numbers should be preserved as their own segment during snake_case conversion.