c# - Adding a range of entries to database -


right doing in order put stuff in database.

public void addmonsters()     {         monster newmonster = new monster();          newmonster.level = 1;         ....         newmonster.strength = 10;         db.monsters.add(newmonster);         db.savechanges();          newmonster.level = 3;         .....         newmonster.strength = 197;         db.monsters.add(newmonster);         db.savechanges();          newmonster.level= 30;         ....         newmonster.strength = 275;         db.monsters.add(newmonster);         db.savechanges();      } 

i have savechanges every one.

but know there's addrange function in database, didn't work.

how can add multiple entries @ once?

thank you.

the problem reusing same variable newmonster. if create new object instance each monsters, able call db.savechanges() @ end only.

you create list of monsters, use addrange().

var monsters = new list<monster>() {     new monster { level = 1, strength = 10 },     new monster { level = 10, strength = 105 }, };  db.monsters.addrange(monsters); db.savechanges(); 

to clarify, in code snippet above entity framework tracking 1 instance of monster--so have no way of using addrange or not having repeatedly call .savechanges(). literally taking same object, changing variables , doing .add , .savechanges.

creating list specified cleanest solution problem--though create collection of monster , add them @ once, using .addrange expected.