我在一个项目中工作,我们正在考虑使用 Orchard CMS .
但是,我们希望将 Web 服务用作某些内容项的数据源。我想我们必须更改存储库实现才能使这成为可能,但我不确定。
所以我的问题是:我的猜测是正确的,还是更复杂?那怎么办呢?
谢谢!
更新:
我看到 Orchard 的 IRepository 接口(interface)需要实现 LINQ 提供程序。在这种情况下这是不可能的,因为 Web 服务是通过 SOAP 提供的。
我将更好地进一步描述场景:
我们希望建立的网站必须使用网络服务来获取有关组织成员和单位的信息。我们想在网站上显示某个组织单位的成员。我们还想创建我们自己的内容类型“Event”,它应该与“Member”(来自 WS)具有 M:N 关系(参加者)。
最佳答案
您不必实现 IRepository 如果您不想将零件存储完全定向到其他地方。我目前在我的一个基于 Orchard 的项目中使用 WCF 服务,所以你的场景是相似的。
你可以这样做:
OnLoaded<MyPart>((ctx, part) => {
part.MyProperty = myService.GetMyProperty(part.SomeIdToLookup);
});
当然,您可以使用其他处理程序事件(如 OnInitialized、OnCreated、OnPublished 等)。您可以阅读有关内容处理程序的更多信息 here .
我还建议获得 dev startup module来自 Codeplex 的快速开发。
关于.net - 如何更改 Orchard 记录库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4727843/