This issue is solved for me in this thread How can I force entity framework to insert identity columns?
But what I need to know that if I set
dataContext.Database.ExecuteSqlCommand("SET IDENTITY_INSERT [dbo].[User] OFF");
before I call the SaveChanges() method will it have the same effect?, I mean why should I turn Identity to off after I call SaveChanges().