Я не могу понять, почему стекло Mapper не может бросить объект в правильном пути, как описано here У меня есть следующие классыGlass Mapper v4 InferType Cast вопрос
public class BC
{
[SitecoreId]
public virtual ID Id { get; set; }
}
public class WB : BC
{
[SitecoreField(FieldName = "P1")]
public virtual Glass.Mapper.Sc.Fields.Link P1 { get; set; }
}
[SitecoreType(TemplateId = "{XXX}", AutoMap = true, EnforceTemplate = SitecoreEnforceTemplate.Template)]
public class AAA : WB
{
public virtual string AAAP1 { get; set; }
public virtual DateTime AAAP2 { get; set; }
}
[SitecoreType(TemplateId = "{VVV}", AutoMap = true, EnforceTemplate = SitecoreEnforceTemplate.Template)]
public class BBB : WB
{
public virtual string BBBp1 { get; set; }
public virtual DateTime BBBp2 { get; set; }
}
[SitecoreType(TemplateId = "{YYY}", AutoMap = true)]
public class RazorRenderClass: BC
{
[SitecoreChildren(InferType = true)]
public virtual IEnumerable<WB> Children { get; set; }
[SitecoreChildren(InferType = true)]
public virtual IEnumerable<AAA> AAACh { get; set; }
[SitecoreChildren(InferType = true)]
public virtual IEnumerable<BBB> BBBCh { get; set; }
}
по мнению бритвы я не могу получить AAA или объекты в, если я использую ребенок собственность,
@foreach (var child in Model.Children)
{
if (child is BBB)
{
var news = child as BBB;
<li>
11
</li>
}
else if (child is AAA)
{
var evt = child as AAA;
<li>
222
</li>
}
}
что более интересно, если я использую вызов BBBCh или AAACh свойств при cshtml, я могу видеть (при отладке), что дети свойство содержит правильные элементы (объект), но если Я пытаюсь получить какой-либо предмет из Child property lik e
var detailWidget = Model.Children.FirstOrDefault();
оно будет передано классу WB. Что я могу с этим сделать?
Эй .. это может быть решена с более новой версией стекла. Какую версию ты используешь? –
Была ошибка с Glass v4, которая может быть тем, что вы видите. Он был исправлен с выпуском 4.0.1.5 - https://github.com/mikeedwards83/Glass.Mapper/issues/132 –
Я видел эту проблему, но моя версия 4.0.1.8 –