Как установить IDENTITY_INSERT в положение ON?

Вопрос:

Я хочу сделать ключ SocialSecurityNumber для таблицы person. [Key] работает, но значение для этого ключа генерируется базой данных, я хочу, чтобы мое заданное значение сохранялось в базе данных, поэтому я использовал [DatabaseGenerated(DatabaseGeneratedOption.None)]. Теперь, когда я пытаюсь Add() данные, я получаю эту ошибку.

enter image description here

Итак, как установить параметр IDENTITY_INSERT, чтобы он был включен, используя Code First, Fluent API или Annotations?

Ниже приведен мой модельный класс.

  public class Person
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
public int SocialSecurityNumber { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }

}

Лучший ответ:

Проблема решена. Как и в комментариях @Tim спросил, использовал ли я миграцию. На самом деле это был тот шаг, который я не делал в следующей попытке. Я добавил еще один класс и НЕ устанавливал его в [KEY] а использовал полную аннотацию [Key, DatabaseGenerated(DatabaseGeneratedOption.None)], мне не приходилось использовать миграции, и это сработало. Как ранее проблема была вызвана SocialSecurityNumber быть identity, но теперь использует этот подход, его больше не identity, а следовательно IDENTITY_INSERT (который до сих пор из OFF) не применяется к этому. И я могу изменить ценности.
https://www.facebook.com/photo.php?fbid=278643422321981&set=a.118955391624119.1073741827.100005289761090&type=1&theater

Оцените статью
TechArks.Ru
Добавить комментарий