我想知道是否有一种构建嵌套模型的方法,其中主模型的字段值自动传递到其嵌套模型的指定字段。
例如,如果我有Factory
视图模型和Machine
视图模型:
public class Factory
{
public string Name { get; set; }
public bool HasPower { get; set; }
public List<Machine> Machines { get; set; }
}
public class Machine
{
public string Name { get; set; }
public string Brand { get; set; }
public bool HasPower { get; set; }
}
Factory
包含Machine
列表。我希望每个HasPower
中的Machine
值始终由HasPower
中的Factory
值设置。或者,每个HasPower
中的Machine
属性只是指向HasPower
中Factory
值的指针。
我不知道这是否可以实现。谷歌搜索并没有给我任何有用的结果。
答案 0 :(得分:0)
您可以在Factory类中重新定义HasPower属性的getter / setter,如下所示:
public bool HasPower
{
get => Machines?.First().HasPower ?? false;
set
{
foreach(var machine in Machines)
machine.HasPower = value;
}
}
此外,如果Factory类是Enity Framework POCO,则可以使用[DatabaseGenerated(DatabaseGeneratedOption.None)]标记HasPower属性,以便始终计算它。