ColumnAttribute.IsPrimaryKey Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets or sets whether this class member represents a column that is part or all of the primary key of the table.

Namespace:   System.Data.Linq.Mapping
Assembly:  System.Data.Linq (in System.Data.Linq.dll)

public bool IsPrimaryKey { get; set; }

Property Value

Type: System.Boolean

Default = false.

Assuming an entity class, you must provide at least one member with this attribute, and it must be mapped to the primary key or a unique key in the corresponding table or view. Failure to do this prompts LINQ to SQL to consider instances of the class as read-only for submitting changes to the database.

If you designate more than one member of the class by using this property, the key is said to be a composite of the associated columns.


LINQ to SQL does not support computed columns as primary keys.

[Column(Storage="_ProductID", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
public int ProductID
		return this._ProductID;
		if ((this._ProductID != value))
			this._ProductID = value;

.NET Framework
Available since 3.5
Windows Phone Silverlight
Available since 7.1
Return to top