DataTable.PrimaryKey Eigenschaft

Definition

Ruft ein Array von Spalten ab, die als Primärschlüssel für die Datentabelle verwendet werden, oder legt dieses fest.

C#
[System.ComponentModel.TypeConverter(typeof(System.Data.PrimaryKeyTypeConverter))]
public System.Data.DataColumn[] PrimaryKey { get; set; }
C#
public System.Data.DataColumn[] PrimaryKey { get; set; }
C#
[System.ComponentModel.TypeConverter(typeof(System.Data.PrimaryKeyTypeConverter))]
[System.Data.DataSysDescription("DataTablePrimaryKeyDescr")]
public System.Data.DataColumn[] PrimaryKey { get; set; }

Eigenschaftswert

Ein Array von DataColumn-Objekten.

Attribute

Ausnahmen

Der Schlüssel ist ein Fremdschlüssel.

Beispiele

Das erste Beispiel zeigt, wie die Primärschlüsselspalten für eine DataTable zurückgegeben werden, die in angezeigt DataGridwird. Im zweiten Beispiel wird veranschaulicht, wie die Primärschlüsselspalten für ein DataTablefestgelegt werden.

C#
private void GetPrimaryKeys(DataTable table)
{
    // Create the array for the columns.
    DataColumn[] columns;
    columns = table.PrimaryKey;

    // Get the number of elements in the array.
    Console.WriteLine($"Column Count: {columns.Length}");
    for (int i = 0; i < columns.Length; i++)
    {
        Console.WriteLine($"{columns[i].ColumnName} {columns[i].DataType}");
    }
}

private void SetPrimaryKeys()
{
    // Create a new DataTable and set two DataColumn objects as primary keys.
    var table = new DataTable();
    var keys = new DataColumn[2];
    DataColumn column;

    // Create column 1.
    column = new DataColumn();
    column.DataType = Type.GetType("System.String");
    column.ColumnName= "FirstName";

    // Add the column to the DataTable.Columns collection.
    table.Columns.Add(column);

    // Add the column to the array.
    keys[0] = column;

    // Create column 2 and add it to the array.
    column = new DataColumn();
    column.DataType = Type.GetType("System.String");
    column.ColumnName = "LastName";
    table.Columns.Add(column);

    // Add the column to the array.
    keys[1] = column;

    // Set the PrimaryKeys property to the array.
    table.PrimaryKey = keys;
}

Hinweise

Der Primärschlüssel einer Tabelle muss eindeutig sein, um den Datensatz in der Tabelle zu identifizieren. Es ist auch möglich, eine Tabelle mit einem Primärschlüssel aus zwei oder mehr Spalten zu verwenden. Dies tritt auf, wenn eine einzelne Spalte nicht genügend eindeutige Werte enthalten kann. Beispielsweise kann ein Primärschlüssel mit zwei Spalten aus einer "OrderNumber" und einer "ProductID"-Spalte bestehen. Da Primärschlüssel aus mehr als einer Spalte bestehen können, besteht die PrimaryKey -Eigenschaft aus einem Array von DataColumn -Objekten.

Gilt für:

Produkt Versionen
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Weitere Informationen