Ciao grazie per il consiglio, ma forse non ho capito bene una cosa. Ti faccio un esempio pratico:

Carico gli utenti su datagridview con questo codice:
codice:
      entity = new dbEntity();

       //Set DataSource
       ClientiGrid.DataSource = entity.clienti;
Poi tramite un altro form aggiungo un nuovo cliente e lo salvo:

codice:
    clienti c = new clienti();
    c.ragione_sociale = RagioneSocialeText.Text;
    
    entity.clienti.AddObject(c);

    entity.SaveChanges();
Poi aggiorno i dati nel datagridview alla chiusura del form tramire:
codice:
  //Refresho Datagri
  BindingSource source = new BindingSource();
  source.DataSource = entity.clienti.ToList();
  ClientiGrid.DataSource = source;
Fin qui tutto ok, anche se ho un dubbio sul refresh dei dati che fatto in questo modo lui si scarichi di nuovo tutta la tabella e non solo le righe aggiunte e modificate.

Tramite il link che mi hai mandato però non ho capito questa cosa:

Io ho il programma aperto e visualizzo la lista dei clienti.

Un altro client inserisce un nuovo cliente, come faccio io ad aggiornare i dati nella mi griglia aggiungendo solo il nuovo record?
La stessa cosa per update e delete, in ogni caso devo eliminare o aggiornare nella mia griglia solo la riga interessata.

Non so se sono riuscito a spiegarmi.

Però nel link che mi hai passato tratta di come gestire conflitti in caso di aggiornamenti se le due sorgenti di dati non coincidono.

Sono del tutto fuori strada?

Grazie!!!!