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.