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