【发布时间】:2014-08-29 13:02:46
【问题描述】:
我在一个项目上有一个多列表字段,它可以包含来自不同模板的项目。我想知道是否有任何方法可以映射此字段,以便对象根据其模板映射到正确的模型。比如:
public interface IPerson
{
string FullName {get; set;}
}
[SitecoreType(TemplateId="....")]
public class Professor
{
[SitecoreField]
public string Prefix {get; set;}
[SitecoreField]
public string FirstName {get; set;}
[SitecoreField]
public string LastName {get; set;}
public string FullName
{
return string.format("{0} {1} {2}", Prefix, FirstName, LastName)
}
}
[SitecoreType(TemplateId="....")]
public class Student
{
[SitecoreField]
public string FirstName {get; set;}
[SitecoreField]
public string LastName {get; set;}
public string FullName
{
return string.format("{0} {1}", FirstName, LastName)
}
}
[SitecoreType(TemplateId="....")]
public class ClassSession
{
[SitecoreField]
public IEnumerable<IPerson> Participants {get; set;}
}
在这种情况下,我希望 Participants 属性包含 Student 和 Professor 对象,因为它们以不同的方式实现 Fullname 属性。
【问题讨论】:
标签: sitecore glass-mapper