将现有Oracle Business / DBLayer公开给Silverlight

时间:2011-01-29 15:41:28

标签: silverlight oracle

我们有一个与oracle DB Layer对话的现有业务层。所有过程都返回一个DataTable。由于Silverlight不支持DataTables,我不确定公开业务层的最简单方法是什么。

我宁愿不重写业务层。有没有办法将数据表转换为SilverLight中可用的东西。这样我就可以在WCF服务中公开SilverLight应用程序所需的业务层中的任何方法

谢谢,

约翰

3 个答案:

答案 0 :(得分:0)

最灵活的方法是在中间层上实现调用现有业务方法的Web服务,然后将它们转换为XML或JSON。一旦完成,几乎任何东西都可以使用它们。

答案 1 :(得分:0)

DataTables不适合数据传输对象格式,正是因为您提到的原因,并且它们被逐步淘汰以支持实体框架之类的事情。 ADO.NET团队发布了一个博客,讨论了这个精确的问题here

正如其他人提到的,如果您不想更改业务层,一个选项是编写一个中间层,将DataTable转换为合理的XML或JSON格式,或者转换为一系列可以然后被序列化为XML或JSON。

但是你应该调查的另一个是托管的here SilverlightDataSet项目,它可以让Silverlight能够使用已经序列化为XML的DataSet对象。没有自己测试过,但听起来值得研究。

答案 2 :(得分:0)

感谢您的回复。我最终使用了来自Telerik的数据集,这是我一直使用的控件。 http://forums.silverlight.net/forums/p/16733/69252.aspx

将来,在构建业务层时,建议将其作为返回类型的数据。请记住,我们在这里使用Oracle。将它们保存为数据表并具有转换DataTable的中间层

是否有意义