Table of Contents

Class PrimaryKey

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

Represents a primary key constraint that uniquely identifies each row in a table.

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

Remarks

A primary key constraint enforces uniqueness and non-null values for one or more columns. Each table can have only one primary key, which can be either single-column or composite (multiple columns).

Examples

using (var manager = new Manager(connection))
{
    var schema = manager.LoadSchema("myschema");

    // Single-column primary key
    Table usersTable = schema.CreateTable("users");
    usersTable.CreateColumn("id", DataType.Integer, autoGenerate: true);
    usersTable.CreateColumn("username", DataType.VarChar, size: 50);

    PrimaryKey pk = usersTable.CreatePrimaryKey("pk_users", "id");
    manager.CreateTable(usersTable);
    manager.CreateConstraint(pk);

    // Composite primary key across multiple columns
    Table orderItemsTable = schema.CreateTable("order_items");
    orderItemsTable.CreateColumn("order_id", DataType.Integer);
    orderItemsTable.CreateColumn("product_id", DataType.Integer);
    orderItemsTable.CreateColumn("quantity", DataType.Integer);

    PrimaryKey compositePk = orderItemsTable.CreatePrimaryKey("pk_order_items", [ "order_id", "product_id" ]);
    manager.CreateTable(orderItemsTable);
    manager.CreateConstraint(compositePk);
}

Properties

Columns

Gets or sets the collection of column names that make up the primary key.

ConstraintType

Gets the constraint type as PrimaryKey.

IsComposite

Gets whether this is a composite primary key (spanning multiple columns).

Methods

IsEqual(Constraint)

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