него не генерируются автоматом значения, т.е. атрибут [Key, DatabaseGenerated(DatabaseGeneratedOption.None)]. Но когда создаю новую запись и прописываю в ней значение, получаю ""Невозможно вставить явное значение для столбца идентификаторов в таблице "...", когда параметр IDENTITY_INSERT имеет значение OFF."
Погуглил, нашёл два ответа: нужно проставить атрибуты, которые у меня и так стоят, или нужно в транзакции перед SaveChanges ставить флаг в ON, а потом снова в OFF. Ну я так и сделал и всё заработало, но теперь не могу сохранять изменения в других таблицах - пишет что-то типа "Нельзя использовать транзакции, т.к. работают другие потоки", хотя я при работе с другой таблицей уже не использую транзакции.
Недолго думая я убрал транзакцию и сделал так, что тот флаг в ON ставится просто перед сохранением и без транзакции, но ошибка вернулась, как будто без транзакции флаг почему-то не проставляется.
Подскажите, пожалуйста, как это пофиксить?
А зачем у тебя поле помечено как IDENTITY, если ты вставляешь в него значения руками?
Обсуждают сегодня