Как расширить ViewModel составленным свойством
В проекте MVC у меня есть этот simpel ViewModel, который я использую, чтобы заполнить таблицу в.cshtml. Каждый столбец легко заполняется свойствами объекта устройства.
Мне нужно сделать новый столбец и заполнить его счетчиком. Этот счет создается из идентификатора устройства на сервере.
Я хочу расширить мою ViewModel с помощью свойства Count. Количество создается каждым идентификатором устройства, который используется для получения списка, а затем счет.
Итак, мой вопрос: как вы проектируете эту "составленную" ViewModel? Я думал об упаковке всего этого в частном классе, но я не знаю, является ли это лучшими методами.
ViewModel:
public class DeviceViewModel
{
public List<Device> Devices { get; set; }
}
.cshtml:
<table>
<thead>
<tr>
<th>Name</th>
<th>Priority</th>
<th>Version</th>
</tr>
</thead>
<tbody>
@{
foreach (var device in Model.Devices)
{
<tr id="@device.ID">
<td>@device.Name</td>
<td>@device.Priority</td>
<td>@device.Version</td>
</tr>
}
}
</tbody>
</table>
Я представляю, что.cshtml что-то вроде этого и не знаю о ViewModel:
<table>
<thead>
<tr>
<th>Name</th>
<th>Priority</th>
<th>Version</th>
<th>Count</th>
</tr>
</thead>
<tbody>
@{
foreach (var composedDevice in Model.ComposedDevices)
{
<tr id="@composedDevice.ID">
<td>@composedDevice.Name</td>
<td>@composedDevice.Priority</td>
<td>@composedDevice.Version</td>
<td>@composedDevice.Count</td>
</tr>
}
}
</tbody>
</table>