Table of Contents

Class Unique

Namespace
YndigoBlue.Velocity.Constraints
Assembly
YndigoBlue.Velocity.dll

Represents a unique constraint that ensures all values in one or more columns are distinct.

public class Unique : Constraint, IEquatable<Constraint>, IComparable<Constraint>
Inheritance
Unique
Implements

Examples

// Define a table with unique constraints
var table = new Table(schema, "users");
table.AddColumn("id", DataType.Integer, autoIncrement: true);
table.AddColumn("username", DataType.VarChar, 50);
table.AddColumn("email", DataType.VarChar, 100);
table.AddColumn("phone", DataType.VarChar, 20);

// Create unique constraint on username
var uniqueUsername = new Unique("uk_users_username", schema.Name, "users", "username");

// Create composite unique constraint on email and phone
var uniqueContact = new Unique("uk_users_contact", schema.Name, "users",
    new[] { "email", "phone" });

Remarks

A unique constraint prevents duplicate values in the specified column(s). Unlike a primary key, a table can have multiple unique constraints, and unique columns can contain NULL values (depending on database).

Properties

Columns

Gets or sets the collection of column names that make up the unique constraint.

ConstraintType

Gets the constraint type as Unique.

Methods

GetColumnsForComparison()

Gets columns for comparison in a name-neutral way. Override in subclasses that have columns.

IsEqual(Constraint)

Determines whether this constraint is equal to another constraint based on their properties.