2009-01-21 183 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服务,您可以与客户端建立合同。不应该因为你想改变数据库的形状而打破这个契约。我将创建一个与表结构匹配的类并返回此结构的“列表”对象。然后,当数据模型更改时,您可以维护此接口并创建与新结构匹配的第二个服务方法。