В качестве альтернативы инъекции и еще хуже Singleton вы можете вызвать метод Detach до добавления.
EntityFramework 6: ((IObjectContextAdapter)cs).ObjectContext.Detach(city1);
EntityFramework 4: cs.Detach(city1);
Существует еще один способ, если вам не нужен первый объект DBContext. Просто оберните его с помощью ключевого слова:
Payroll.Entities.City city1;
using (CityService cs = new CityService())
{
city1 = cs.SelectCity(Convert.ToInt64(cmbCity.SelectedItem.Value));
}