Orchard CMS 直接在数据库中更新记录

Orchard CMS update record directly in database

我有内容项列表,我需要为每个内容项添加元关键字和描述。为此,我正在使用 VandelayIndustries 模块。我有关键字和描述列表以及 contentItemId。我可以从 ContentItemVersionRecord 中找到已发布的 ContentItem。

有没有办法直接在 Vandelay_Industries_MetaRecord table 中插入记录,Id 为 ContentItemId 以及关键字和描述。

您将需要创建一个导入方法。您的 ContentItems 应该有一个 MetaPart。您可以通过转到 Orchard 仪表板中的内容定义或通过修改迁移中的 ContentType 来实现此目的。

ContentDefinitionManager.AlterTypeDefinition("MyContentType",
            type => type
                .WithPart("MetaPart"));

创建一个遍历 csv 文件并添加条目的方法:

foreach(var entry in listFromFile) {
    var item = _contentManager.Get(entry.Id).As<MediaPart>();
    item.Key = entry.Key;
    item.Description = entry.Description;
}

就是这样。