3

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

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

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

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

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

查看 Glass Mapper 代码,看起来我必须将一些 config.Setting 设置为 SitecoreFieldSettings.RichTextRaw,但我不确定我使用 TDS 生成的代码做什么/在哪里/如何执行此操作...

对此的任何见解都会有所帮助。

-萨基斯-

4

2 回答 2

1

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

您可能会更好地对原始模型进行子类化,然后添加不同的属性,我尚未对此进行测试,但它应该可以工作:

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

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

} 

让我知道这个是否奏效。

于 2014-12-06T15:29:38.567 回答
1

嘿,有点晚了,但我已经找到了解决方案。因此,首先您必须禁用该项目的代码生成。转到 TDS 项目右键单击,然后单击属性。有一个名为“代码生成模板”的字段设置为无,并在你的类中将其作为属性:

[SitecoreField("FieldName", Setting = SitecoreFieldSettings.RichTextRaw)]
public virtual string FieldName { get; set; }

希望能帮助到你

于 2015-06-09T18:30:34.683 回答