views:

16

answers:

1

I am using the Entity Framework to update my database. The Employee table has an employeeId primary key field. When I instantiate an employee object, the employeeId defaults to zero. I want to insert the employee object into the database, ignoring the primary key value of zero. Yet I get this exception; Cannot insert explicit value for identity column in table 'Employees' when IDENTITY_INSERT is set to OFF. What should I be doing to stop this?

    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  A: 

I fixed the problem. I updated the database and I forgot to update my edmx file to reflect that change.

arame3333