Теперь я понимаю, что когда x.transaction имеет значение null, он пропускает. Но как я могу установить значение в методе расширения .Where()? Как видите, первая строка имеет условие, если идентификатор не равен нулю, а затем установите значение равным нулю. Но как насчет расширения .Where() как установить значение, если значение x.TransactionPrice равно null? В третьей строке.Как установить значение нуля в расширении .Where(), если значение равно null
Только в этом примере коды:
var Rs12 = id != null
? _context.DwPropertyDetails
.Where(x => x.LandId == id && x.TransactionPrice != null)
.OrderByDescending(x => x.TransactionPrice)
.AsEnumerable()
.Select(
(x, index) =>
new
{
TRANSACTION_PRICE = x.TransactionPrice ?? (long?)0,
ACTUAL_SIZE = x.ActualSize,
rank = index + 1
})
.Where(x => x.rank == 1).Select(x => new
{
TRAN_S = x.TRANSACTION_PRICE ?? (long?)0
})
.SelectMany(
TranS =>
_context.DwPropertyDetails.Where(
x => x.LandId == id && x.TransactionPrice != null)
.OrderByDescending(
x =>
(x.TransactionPrice ?? 0)/
(x.ActualSize == null || x.ActualSize == 0 ? 1 : x.ActualSize) ?? 1)
.AsEnumerable()
.Select(
(x, index) =>
new
{
PER_FT_S =
(x.TransactionPrice ?? 0)/
(x.ActualSize == null || x.ActualSize == 0 ? 1 : x.ActualSize) ?? 1,
rank = index + 1
})
.Where(x => x.rank == 1).Select(x => new
{
x.PER_FT_S
}), (TranS, PerFtS) => new
{
TranS.TRAN_S,
PerFtS.PER_FT_S
})
: _context.DwPropertyDetails.Select(x => new
{
TRAN_S = (long?)0,
PER_FT_S = (long)0
});
спасибо. но не работает. –
может дать несколько тестовых примеров? без тестовых примеров трудно понять, что вы хотите –
как насчет? как проверить, является ли модель в представлении нулевым, установите значение для свойств. Как это сделать? –