I’m setting up a blog using Asp.net MVC3 and Entity framework 4. Most of the properties of the blog post already exist in the database, and therefore can easily be linked to the blog post during the creation.
One of the last element I’ve added are sources, these sources have a direct link to my BlogPost and have to be added during the creation of the BlogPost. My idea was to use the entity property Sources of the BlogPost entity, like:
blogPost.Sources.Add(new Source() { Name = source.Value, Url = source.Key.ToString(), Type = "source" });
Unfortunately I’m not allowed to create and add an Source this way, I’m getting the error: “Cannot insert explicit value for identity column in table ‘Source’ when IDENTITY_INSERT is set to OFF.”
I guess this is cause of the ID column which has is an Identity with Identity increment turned on, but I don’t set any ID myself. I tried to make id = null, but since its not a null-able it’s not allowed either.
I believe turning this feature off let’s me add records with my own ID’s, but this is not what I want. The database should create the ID’s.
Is there a way to add these kinds of properties during creation?
I solved the problem by adding the Source entity again from the database, apparently the entity framework model was generated before the field was set to Identity Increasing and therefore wanted to insert it’s own ID’s.