Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Orchardcms Orchard后台任务未将PartRecords持久化到数据库_Orchardcms_Background Task - Fatal编程技术网

Orchardcms Orchard后台任务未将PartRecords持久化到数据库

Orchardcms Orchard后台任务未将PartRecords持久化到数据库,orchardcms,background-task,Orchardcms,Background Task,我正在尝试使用一个后台任务来收集来自Facebook Graph APi的喜欢/评论,并用它来推动我们博客的趋势 这里已经填充了trendingModels,用于填充TrendingParts.GraphId和TrendingParts.TrendingValue 我没有得到任何异常,TrendingPart上的属性指向TrendingPartRecord中的字段 然而,数据库中没有任何东西存在,你知道为什么吗 _果园服务是一种服务 编辑: 可能值得注意的是,我可以在管理面板中更新和发布Tren

我正在尝试使用一个后台任务来收集来自Facebook Graph APi的喜欢/评论,并用它来推动我们博客的趋势

这里已经填充了trendingModels,用于填充TrendingParts.GraphId和TrendingParts.TrendingValue

我没有得到任何异常,TrendingPart上的属性指向TrendingPartRecord中的字段

然而,数据库中没有任何东西存在,你知道为什么吗

_果园服务是一种服务

编辑:
可能值得注意的是,我可以在管理面板中更新和发布TrendingPart上的字段,但保存的更改不会显示在MyModule_TrendingPartRecord表中

解决方案是使用ITransientDependency将我的服务更改为临时依赖

该服务持有对PartRecords数组的引用,因为它被视为一个单例,所以它从未处理过,也从未推送到数据库

var articleParts = _orchardService.ContentManager.GetMany<TrendingPart>(
                                                            trendingModels.Select(r => r.OrchardId).ToList(), 
                                                            VersionOptions.Published,
                                                            QueryHints.Empty);

        // Cycle through the records and update them from the matching model
        foreach (var articlePart in articleParts) 
        {
            ArticleTrendingModel trendingModel = trendingModels.Where(r => r.OrchardId == articlePart.Id).FirstOrDefault();

            if(trendingModel != null)
            {
                // Not persisting to the database, WHY?
                // What's missing?
                // If I'm understanding things properly nHibernate should push this to the db autoMagically.
                articlePart.GraphId = trendingModel.GraphId;
                articlePart.TrendingValue = trendingModel.TrendingValue;
            }
        }