異なるテンプレートのアイテムを含むことができるアイテムにマルチリスト フィールドがあります。オブジェクトがテンプレートに基づいて正しいモデルにマップされるように、このフィールドをマップする方法があるかどうか疑問に思っていました。たとえば、次のようになります。
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
。