2009-01-21 112 views
0

我正在使用.NET Web服務作爲數據庫的接口。從此Web服務返回行的最佳方式是什麼?從.NET Web服務返回行

我依稀記得.NET 2.0在返回DataTable對象時遇到了問題。這些問題是否仍然存在?

更新:某些theissues在.NET 1.1中。另外,我相信在2.0中,DataTable被反序列化爲客戶端的DataSet對象。我對麼?

回答

2

您是否正在有效地嘗試完成ADO.net的工作?你最好返回POCO(普通的舊c#對象),你可以有效地序列化它以發送肥皂,然後將它們拉回另一側。也許你可以在你的問題上給我們一些更多的信息,以瞭解你想要做什麼。

.net 3.0中的DataRows和DataTable沒有改變。如果你想使用實體框架來傳遞信息,但你會遇到不同的麻煩。如果它們是行,請查看使用Linq,然後序列化,然後將行實體作爲集合傳遞。有許多方法可以將實體重建爲客戶端數據上下文,以便引用鏈接備份等。

+0

我的Web服務從數據庫中提取記錄。我只想將行返回給客戶端。返回一個DataSet/DataTable應該可以工作,但我已經在.NET 2.0中聽到過有關它們的壞消息。 .NET 3.0中是否存在類似的問題? – 2009-01-21 09:27:39

1

我會同意Spence。通過Web服務,您可以與客戶端建立合同。不應該因爲你想改變數據庫的形狀而打破這個契約。我將創建一個與表結構匹配的類並返回此結構的「列表」對象。然後,當數據模型更改時,您可以維護此接口並創建與新結構匹配的第二個服務方法。