У меня есть два класса моделей (Tickets
и Activities
), где Activities
больше похож на справочную таблицу и не предполагает хранения каких-либо навигационных свойств или FK других объектов.
Запись в Tickets
должна содержать один Activity
, но во всей таблице Tickets
будет много одинаковых Activities
. Действия должны быть таблицей, а не (например) перечислением из-за возможности будущих обновлений и поправок.
Хотя это кажется достаточно тривиальным, я продолжаю сталкиваться с ошибками вроде Identity is Set to off
.
Мои модели:
public class Tickets
{
public int ID {get; set;}
// fk
public int ActivityID {get; set;
// nav property
public Activity Activity {get; set;}
// other properties.
}
public class Activity
{
public int ID {get; set;}
public int RankOrder {get; set;}
//other properties
}
Я указал отображение домена для модели Tickets
:
builder.HasOne(t => t.Activity)
.WithMany()
.HasForeignKey(t => t.ActivityID);
на основе этого SO-сообщения и поста блога: здесь и здесь , но я не получаю его, мое последнее сообщение об ошибке:
SqlException: Невозможно вставить явное значение для столбца идентификации в таблице 'Activity', когда для IDENTITY_INSERT установлено значение OFF.
Кроме того, при таком отображении создается впечатление, что EF создал столбец Ticket в таблице Activity, чего я не хочу.