3

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

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この例では、プロパティの実装が異なるため、プロパティにStudentProfessorオブジェクトを含めたいと思いますFullname

4

1 に答える 1