Я пишу код, используя LINQ в C#. Код работает исправно, но когда я пытаюсь пройти тестирование, я не получил значения, как в отсутствии данных, и я знаю, является ли идентификатор нулевым или пустым, он пропустит запрос LINQ. Как я могу установить значение результата запроса в нулевую или пустую строку, если запрос LINQ был пропущен?Как проверить, является ли «id» пустым или пустым, а значения по умолчанию - 0 или пустая строка?
var Rs1 = _context.DwPropertyDetails.Where(x => x.LandId == id && x.TransactionPrice != null)
.Select(x => new
{
Studio = x.FlatType.ToLower() == studio.ToLower() ? x.TransactionPrice : 0,
OneBedroom = x.FlatType.ToLower() == onebedroom.ToLower() ? x.TransactionPrice : 0,
TwoBedroom = x.FlatType.ToLower() == twobedroom.ToLower() ? x.TransactionPrice : 0,
ThreeBedroom = x.FlatType.ToLower() == threebedroom.ToLower() ? x.TransactionPrice : 0,
Total = x.TransactionPrice
}).Select(a => new
{
a.Studio,
a.OneBedroom,
a.TwoBedroom,
a.ThreeBedroom,
a.Total,
Dummy = "x"
}).GroupBy(a => new { a.Dummy })
.Select(g => new
{
Rs1Clm2 = totalTransAmount,
Rs1Clm3 = g.Sum(p => p.Studio),
Rs1Clm4 = g.Sum(p => p.OneBedroom),
Rs1Clm5 = g.Sum(p => p.TwoBedroom),
Rs1Clm6 = g.Sum(p => p.ThreeBedroom),
Rs1Clm7 = g.Sum(p => p.Total),
});
хорошо я попробовать его в представлении
<tbody>
@if (Model == null || string.IsNullOrEmpty(Model.Rs1Vms.ToString()) || string.IsNullOrWhiteSpace(Model.Rs1Vms.ToString()))
{
<tr>
<td>Total Transaction Amount</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>0</td>
</tr>
}
else
{
foreach (var a in Model.Rs1Vms)
{
<tr>
<td>@Html.DisplayFor(model => a.Rs1Vm2)</td>
<td>@($"{a.Rs1Vm3:N0}")</td>
<td>@($"{a.Rs1Vm4:N0}")</td>
<td>@($"{a.Rs1Vm5:N0}")</td>
<td>@($"{a.Rs1Vm6:N0}")</td>
<td>@($"{a.Rs1Vm7:N0}")</td>
</tr>
}
}
</tbody>
Не работает. –