ColumnAttribute.IsPrimaryKey Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает или задает значение, указывающее, представляет ли этот член класса столбец, входящий в состав первичного ключа таблицы.
public:
property bool IsPrimaryKey { bool get(); void set(bool value); };
public bool IsPrimaryKey { get; set; }
member this.IsPrimaryKey : bool with get, set
Public Property IsPrimaryKey As Boolean
Значение свойства
По умолчанию = false
.
Примеры
[Column(Storage="_ProductID", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
public int ProductID
{
get
{
return this._ProductID;
}
set
{
if ((this._ProductID != value))
{
this.OnProductIDChanging(value);
this.SendPropertyChanging();
this._ProductID = value;
this.SendPropertyChanged("ProductID");
this.OnProductIDChanged();
}
}
}
<Column(Storage:="_ProductID", DbType:="Int NOT NULL", IsPrimaryKey:=true, IsDbGenerated:=true)> _
Public Property ProductID() As Integer
Get
Return Me._ProductID
End Get
Set
If ((Me._ProductID = value) _
= false) Then
If Me._Product.HasLoadedOrAssignedValue Then
Throw New System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException
End If
Me.OnProductIDChanging(value)
Me.SendPropertyChanging
Me._ProductID = value
Me.SendPropertyChanged("ProductID")
Me.OnProductIDChanged
End If
End Set
End Property
Комментарии
Предполагая класс сущности, необходимо предоставить по крайней мере один член с этим атрибутом, и он должен быть сопоставлен с первичным ключом или уникальным ключом в соответствующей таблице или представлении. Если это не сделать, LINQ to SQL будет предложено рассматривать экземпляры класса как доступные только для чтения для отправки изменений в базу данных.
Если вы назначаете несколько членов класса с помощью этого свойства, ключ считается составным из связанных столбцов.
Примечание
LINQ to SQL не поддерживает вычисляемые столбцы в качестве первичных ключей.