Я не хочу вставлять PK val.But - Невозможно вставить явное значение для столбца идентификаторов в таблице «Сотрудники», когда для IDENTITY_INSERT установлено значение OFF - PullRequest
2 голосов
/ 06 октября 2010

Я использую Entity Framework для обновления моей базы данных. Таблица Employee имеет поле первичного ключа employeeId. Когда я создаю экземпляр объекта employee, значением employeeId по умолчанию является ноль. Я хочу вставить объект сотрудника в базу данных, игнорируя значение первичного ключа ноль. Все же я получаю это исключение; Невозможно вставить явное значение для столбца идентификации в таблице «Сотрудники», если для параметра IDENTITY_INSERT установлено значение OFF. Что мне делать, чтобы остановить это?

    public void Add()
    {
        using (SHPContainerEntities db = new SHPContainerEntities())
        {
            // Set default values
            this.StartDate = DateTime.Now;
            // Start date now
            this.SHP_UserRoleId = db.SHP_UserRoles.Where(x => x.RoleName == "Employee").Single().UserRoleId;
            // Default user role is "Employee". This can be changed later.
            this.DepartmentId = 1;
            // This is a temporary fix.
            db.AddToEmployees(this);
            //db.Employees.AddObject(this);
            db.SaveChanges();
        }
    }

1 Ответ

4 голосов
/ 06 октября 2010

Я исправил проблему.Я обновил базу данных и забыл обновить файл edmx, чтобы отразить это изменение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...