Salve a tutti.
Supponiamo di avere due classi: Fatture e DettaglioFattura.
Essendo queste classi "legate fra loro", viene a crearsi un riferimento "ciclico". A quanto pare WCF non mi consente di inviare i dati al servizio.
Spiego meglio la questione.
Creiamo una fattura simile alla seguente:
Fattura f = new Fattura();
f.numero = 1;
f.Dettagli = new List<DettaglioFattura>();
DettaglioFattura d = new DettaglioFattura();
d.Descrizione = "prova";
f.Dettagli.Add(d);
Anche se il codice sembra corretto, c'è una anomalia: la variabile d (che è un DettaglioFattura) ha la proprietà "Fattura" che è null.
Infatti abbiamo legato le righe alla fattura, a non il contrario.
Pertanto, riscrivo il codice nel seguente modo:
Fattura f = new Fattura();
f.numero = 1;
f.Dettagli = new List<DettaglioFattura>();
DettaglioFattura d = new DettaglioFattura();
d.Descrizione = "prova";
f.Dettagli.Add(d);
... riga aggiunta ....
d.Fattura = f;
In questo caso, però, se provo a passare la variabile "f" al WCF, questo mi esce con errore perchè c'è un riferimento ciclico.
Qualcuno sa come aggirare il problema?