ネストされたクラスの配列を含むLINQをインスタンスに設定しようとしています。私は次のLINQでこれを行うことができました。インスタンスを構成するクラスもselectに含めました。
select new EditableWarrantBook {
Id = p1.id,
Comment = p1.EntryComment,
WarrantYear1 = new BookYear {
StatusYear = p2.StatusYear,
Status = p2.Status,
},
WarrantYear2 = new BookYear {
StatusYear = p3.StatusYear,
Status = p3.Status,
},
WarrantYear3 = new BookYear {
StatusYear = p4.StatusYear,
Status = p4.Status,
}
}
public class EditableWarrantBook
{
public int Id { get; set; }
public string Comment { get; set; }
public BookYear[] WarrantYear = new BookYear[3];
public BookYear WarrantYear1
{
get { return WarrantYear[0]; }
set { WarrantYear[0] = value; }
}
public BookYear WarrantYear2
{
get { return WarrantYear[1]; }
set { WarrantYear[1] = value; }
}
public BookYear WarrantYear3
{
get { return WarrantYear[2]; }
set { WarrantYear[2] = value; }
}
}
public class BookYear
{
public int? StatusYear { get; set; }
public string Status { get; set; }
}
WarrantYear[0]
これは機能します。またはのいずれかで値にアクセスできますWarrantYear1
。これは、UIを設計するときに役立つ場合があります。ただし、この場合、WarrantYear1
これをJSONに変換し、繰り返す必要がないため(または、ネットワーク上で同じデータの2つのバージョンを送信する必要があるため)、プロパティは必要ありません。私の質問は、WarrantYear配列をロードするためのselectステートメントをどのように書くかです。または、プロパティとして配列にアクセスできるようにクラスを作成するにはどうすればよいですか。私のソリューションには、クラスのWarrant1, Warrant2, Warrant3
プロパティが含まれていてはなりません。EditableWarrantBook