如何使用 NuGet 中的 Open RIA 服务包

How to use Open RIA Services packages from NuGet

我是一名经验丰富的开发人员,试图将 WCF RIA 服务 class 库添加到 LightSwitch 2013 桌面应用程序,但我对如何开始有点困惑...

我知道微软的 WCF RIA Services 将不再更新,它已经开源并且有一个名为 Open RIA Services 的更新版本可用。我以前从未使用过任何一个,并且一直在搜索这些资源无济于事:

问题是,关于 Open RIA 服务(或WCF 版本,就此而言)。

我只是陷入了框架之间的困境吗?出于某种原因我应该使用一个而不是另一个吗?

我的主要问题是:我应该为 LightSwitch 2013 桌面应用程序获取哪些 NuGet 包?我打算用它来访问 SQL 服务器后端,取代 LightSwitch 的内置数据访问(主要是出于性能原因)。

您实际上不需要使用 Open RIA Services 来在 VS 2013 中创建 RIA Service。我我什至不确定 LightSwitch 是否会识别这些服务,如果它们位于与原始名称空间不同的名称空间中的话。但是 LightSwitch 确实 仍然允许您编写将被“添加数据源”向导识别的 RIA 服务,即使我们似乎正在不鼓励创建它们,转而使用 OData

虽然在 VS 2013 中删除了对 RIA 服务的向导和任何设计器支持,但您真正需要创建一个 class 继承自 DomainService(只需添加对 System.ServiceModel.DomainServices.Server) 的引用,以及 LightSwitch 需要的常用内容,例如默认查询等​​

除了无法通过向导创建服务外,任何关于在 LightSwitch 中使用 RIA 服务的文章仍然适用。

我仍在积极地创建和使用在我当前的 LightSwitch 应用程序中以这种方式创建的 RIA 服务。这是将对象图展平以供显示或 combining/aggregating 对象进行报告等的好方法。