You're trying to give a field that has a column marked as an IDENTITY column (usually the table ID) an explicit value which isn't allowed, SQL generates the value automatically. You're probably re-using the entity you've added and are trying to re-add it. When you first create the entity it has no ID but is given one when you add it and if you try and re-add it you'll get this problem. Without seeing the code it's impossible to say what the fix is but you're probably doing this;
var e = new MyEntity();
foreach (var i in col)
{
e.Property = i.Property;
db.MyTables.Add(e);
}
you need to do this
foreach (var i in col)
{
var e = new MyEntity();
e.Property = i.Property;
db.MyTables.Add(e);
}