Joh*_*ohn
5
我非常熟悉RIA服务,并知道它不足之处.我对数据服务和DevForce知之甚少,但我知道DevForces在RIA服务上的广告正好在那些令我烦恼的领域,这是:
- RIA不能分组或加入任何形式.(有趣的是,在某些情况下,DevExpress工具包可以在RIA服务源上进行分组.)
- 它不明白的关系,但不是多到许多种,其中它必须透明地处理翻译到网桥表中.(编辑:这是计划用于Open Ria服务)
- 更改跟踪工作,通过它只能被提交或拒绝作为一个整体(外的开箱反正)上下文(工作单位).这通常会导致应用程序具有许多上下文和奇怪的复制操作来传输实体.该RIAServicesContrib
项目有助于这一点.
- 似乎不再维持.我的依据是事实,当发布的实体框架4.1的新的DbContext API(代码第一),微软发布了一个兼容性库与您可以使用RIA和EF代码第一.该库有EF 4.1版本锁虽然,微软现在只是指出RIA Services不支持的DbContext在奥威尔笔记到Visual Studio 2012的形式(编辑:的DbContext现在又支持- EF目前最多支持到版本5,其中6可能仅在Open Ria Services中支持)
- 一些任务,例如以编程方式(而不是通过数据绑定)观察相关实体的变化是很困难的.
- 一些应该非常简单的事情,比如从附加实体获取上下文,很难.
- 所有查询都是单个请求,只有剩余的CUD(CRUD)被批处理.
- 与普通CUD操作一起调用的自定义方法非常有限.特别是,在不取消整个上下文的情况下,无法取消已安排的一个.这使得它们在我想要使用它们的大多数情况下几乎无用.
- 您将不得不决定是否使用DomainDataSource,这是一个做得太多而且太少的野兽.你也可以以编程方式获取所有内容,但是有些东西很快就能用这个xaml帮助器连接起来.
- 没有内置支持将实体序列化为隔离存储.
- Silverlight(和我相信的Javascript)是唯一支持的平台 - 没有WPF.(编辑:这是计划用于Open Ria服务 - 特别是它应该可以服务于BreezeJS)
由于数据服务较旧(我认为),我不在乎仔细研究它.我最近却掠过DevForce的功能列表,我相信这听起来令人兴奋,虽然我不能说从经验什么.
(编辑:我发现科林·布莱尔RIA服务的一个很懂行的比较和WCF 这里.)
建筑师自己的产品,以RIA服务比较这里.我介绍了他的一些观点,但不是全部.
总而言之,我可以说,RIA服务显然比原WCF更好,但它也清楚必须有东西比这更好的.我希望那是DevForce.