在EPiServer 7中,我遇到了两个不同的接口来获取EPiServer存储库-- IContentRepository和IContentLoader。
示例:
var repo = EPiServer.ServiceLocation.ServiceLocator.Current.GetInstance<IContentRepository>();以及:
var repo = EPiServer.ServiceLocation.ServiceLocator.Current.GetInstance<IContentLoader>();有人能解释一下什么时候在另一个前面用一个吗?提前谢谢。
发布于 2015-10-09 12:40:02
何时在另一个前面使用一个取决于要执行的操作。
首先,让我们看一看它们的定义(在world.episerver.com上说明)
IContentRepository
"IContentRepository是为IContent对象定义存储库方法的主要API .通过存储库,您可以对内容实例执行CRUD (创建、读取、更新、删除)操作,如列表和移动(即实现EPiServer.Core.IContent的实例)。“
IContentLoader
“描述可用于从存储库读取内容数据对象的服务。”
正如定义所述,IContentLoader用于读取内容,例如它不支持所有CRUD性能。轶事: IContentRepository实现了接口IContentLoader。
简短答案:
在计划修改存储库中的内容/数据时使用IContentRepository。
当您只计划在存储库中读取内容/数据时,请使用IContentLoader。
希望这能为你澄清!
https://stackoverflow.com/questions/33038429
复制相似问题