Oggi mi è capitato di vedere un codice
C# di questo tipo dentro un
WCFpublic DataSet GetData(){
DataTable tbl = new DataTable();
tbl.Columns.Add("Desc");
// codice per riempire il dataset
return tbl.DataSet;
}
e, ovviamente, il metodo ritornava sempre
null. Dico ovviamente perché avendo creato il DataTable non all'interno di un DataSet il riferimento allo stesso non può che essere nullo.
Il codice corretto è:
public DataSet GetDate(){
DataTable tbl = new DataTable();
tbl.Columns.Add("Desc");
// codice per riempire il dataset
//creo il DataSet vuoto
DataSet ds = new DataSet();
//gli aggiungo la tabella precedentemente creata
ds.Tables.Add(tbl);
//ritorno il nuovo DataSet con la tabella
return ds;
}
ovvero creare un DataSet ed aggiungere il DataTable e ritornare il nuovo DataSet.