У меня есть таблица ссылок с двумя внешними ключами. Вместе они являются основным ключом для таблицы. Я пытаюсь отобразить это в Linq:Linq 2 SQL: составной первичный ключ
[Table(Name = "PartToPart")]
public class PartToPart
{
[Column(Name = "PartID", IsPrimaryKey = true)]
public int PartID { get; set; }
[Column(Name = "ParentPartID", IsPrimaryKey = true)]
public int ParentPartID { get; set; }
}
Я предполагаю, что это неправильно и сделать Linq предположить обе колонки являются первичным ключом сами по себе? Если я пытаюсь сохранение новых записей в эту таблицу, я получаю ошибку нарушения ограничения:
Violation of primary key constraint ... Cannot insert duplicate key in object dbo.PartToPart. The duplicate key value is ...
Я попытался вставить ключи вручную с помощью запроса INSERT и что работает просто отлично, так что я предполагаю, что мой стол настроено правильно , Странно, что вставка работает независимо от сообщения об ошибке.
Я проверил the docs и мне кажется, что это должно работать так, как у меня есть это:
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.
Любая помощь по этому вопросу? Спасибо.
С атрибутом '[Table]' он должен быть LINQ-to-SQL, правильно? – xanatos
Да, это Linq2SQL – Chris
Код верный, если я правильно помню. Они оба установлены вручную программой или являются автоинкрементами? – xanatos