我的项目正在使用 Sitecore7 MVC、Solr 和 Glass Mapper。
“ContentSearch”索引几乎包含了站点核心模板中使用的所有字段。我使用 GlassMapper 类作为我的模型(它几乎只包含作为站点核心字段的属性)并对其进行查询。基本上按照此处所述执行“使用自定义结果类”:http: //glass.lu/docs/tutorial/sitecore/tutorial25/tutorial25.html
哪个按预期工作。
我的问题是:
只要索引存在(这是我想要的),它是否使用 Solr 索引填充类属性(通常是站点核心字段)?
或者
是否要通过 sitecore 获取字段值?(我认为这是低效的,在这种情况下,我将编写自定义类并遍历它们以填充 glassMapper 类,因为在我的视图中我使用 GlassMapper 类作为我的模型)
例如,我的一个模型如下所示:
[SitecoreType]
public class MyAwesomeModel
{
[SitecoreId]
[IndexField("_id")]
public virtual Guid Id { get; set; }
[SitecoreInfo(SitecoreInfoType.Language)]
[IndexField("_language")]
public virtual string Language { get; set; }
[TypeConverter(typeof(IndexFieldItemUriValueConverter))]
[XmlIgnore]
[IndexField("_uniqueid")]
public virtual ItemUri Uri { get; set; }
[SitecoreInfo(SitecoreInfoType.Version)]
public virtual int Version
{
get
{
return Uri == null ? 0 : Uri.Version.Number;
}
}
[SitecoreField(FieldName="MyRichtextField")]
[IndexField("MyRichtextField")]
public virtual string RichTextContent { get; set; }
[SitecoreInfo(SitecoreInfoType.Url, UrlOptions = SitecoreInfoUrlOptions.LanguageEmbeddingNever)]
public virtual string Url { get; set; }
}