Решение:
public static void Save(guest g) { rsquareEntities2 db = new rsquareEntities2(); if (g.id == 0) { db.guests.AddObject(g); db.SaveChanges(); } else { db.guests.Attach(db.guests.Single(x => x.id == g.id)); db.guests.ApplyCurrentValues(g); db.SaveChanges(); }