Хотя я пометил свой столбец ID .Identity()
, сгенерированная схема базы данных не имеет IDENTITY
, установленного в true, что создает проблемы при добавлении записей. Если я вручную отредактирую схему базы данных (в SQL Management Studio), чтобы столбец Id
с пометкой IDENTITY
, все работает так, как я этого хочу - я просто не могу сделать EF самостоятельно.Составьте столбец, который будет IDENTITY в db
Это мое полное отображение:
public class EntryConfiguration : EntityConfiguration<Entry>
{
public EntryConfiguration()
{
Property(e => e.Id).IsIdentity();
Property(e => e.Amount);
Property(e => e.Description).IsRequired();
Property(e => e.TransactionDate);
Relationship(e => (ICollection<Tag>)e.Tags).FromProperty(t => t.Entries);
}
}
Как я использую EF, чтобы построить и заново построить базу данных для тестирования интеграции, мне действительно нужно, чтобы это было сделано автоматически ...
EDIT: Hm ... В комментарии мне было предложено дать достаточно кода для выполнения этого, поэтому я вырезал и вставлял свой код в консольное приложение (так что вам не нужны все мои классы ...) и вдруг это просто сработало. Думаю, я где-то забыл какой-то метод, хотя я не мог понять, где.
Я отправлю код рабочего решения в ответ на этот пост, если кто-то еще ищет его.
Если вы можете включить код, необходимый для запуска/попробовать это локально, я бы отдал его чтобы посмотреть, что здесь происходит. –