使用Glass.Mapper 3.0.13.25版本。
使用TDS 5.0.0.23代码生成(glassv3header.tt和glassv3item.tt)。

我有一个要添加到Sitecore的新商品。我正在填充通过TDS的代码生成创建的Product对象。

Product createdProduct = service.Create(DestinationFolder, newProduct);

尝试运行代码时出现以下错误...

当数据不是原始数据时,无法从富文本字段中保存数据。将类型为Mizuno.Data.Domain.Product的属性Full_Description的SitecoreFieldAttribute设置属性设置为SitecoreFieldSettings.RichTextRaw。

查看Glass Mapper代码,似乎必须设置一些config.Setting到SitecoreFieldSettings.RichTextRaw,但是我不确定使用TDS生成的代码执行此操作的方式/位置/方式...

关于此的任何见解将是有帮助的。

-Sarkis-

最佳答案

我认为TDS不可能做到这一点,除非您更改标准的TT模板,然后在TDS中使用自定义数据。这可能是很多工作。

您可能最好对原始模型进行子类化,然后添加其他属性,我尚未对此进行测试,但它应该可以工作:

public class ProductWrite : Mizuno.Data.Domain.Product {

    [SitecoreField(Settings = SitecoreFieldSettings.RichTextRaw)]
    public override string Full_Description { get; set; }

}

让我知道这个是否奏效。

10-07 14:55