18 messaggi dal 04 giugno 2007
Buongiorno, sto impazzendo a risolvere il seguente problema:

Ho una entità ENTITY1 che ha una associazione (FK) con una ENTITY2

Nel classico scenario WebForm, in modo quindi disconnesso, l'utente cambia il valore della FK (es. tramite la tipica selezione attraverso una DropDownList che contiene i possibili valori di ENTITY2).

A questo punto devo riaggiornare il contesto affinchè queste variazioni siano persistite sul DB...

Come faccio ? Quale è il modo migliore per risincronizzare i due contesti ?
(quello originale e quello modificato)

AttachUpdated funziona solo con le proprietà modificate ad ENTITY1, la FK non la considera..

Grazie mille.
Modificato da StefanoFar il 18 marzo 2009 18.13 -

Stefano
Ciao,

il mio consiglio è di fare l'attach, modificare la entity e salvare.

A presto,
m.
18 messaggi dal 04 giugno 2007
Ciao,
il problema non è modificare le Entity... ma modificare la referenza all'oggetto associato, ossia:
Ti riporto per cercare di spiegarmi meglio un pezzo del codice:
Ho un oggetto "Viaggio" associato attraverso una FK all'oggetto "PortoCentrale"

Attraverso la solita DropDownList l'utente cambia il valore della FK
A questo punto a fronte della variazione del valore, aggiorno il contesto (QUELLO DISCONNESSO)

public void OnPortoCentraleChanging(byte portoID)
{
if (_viaggio.PortoCentrale.Porti_ID != portoID)
{
PortoCentrale newPorto = new PortoCentraleFacade().GetByID(portoID);
this.ObjectContext.Detach(newPorto);
_viaggio.PortoCentraleReference.Value = newPorto;
}
}

Ora terminate le operazioni di business, devo persistere le modifiche sul DB.
Quindi devo riaggiornare il contesto originale, con quello detach...
E' quì che nasce il mio problema...
Finchè si tratta di Properties nessun problema, ma quì si tratta di una reference....

Devo rifare la stessa operazione eseguita per il contesto disconnesso ?
Non esiste un modo un pò meno laborioso ?

Grazie.

Modificato da StefanoFar il 20 marzo 2009 18.13 -

Stefano

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.