-3
現在我知道,當x.transaction爲null時,它將跳過。但是,如何在.Where()擴展方法中設置一個值?正如你可以看到第一行有一個條件,如果id不是null,那麼將該值設置爲零。但是如何在.Where()擴展中如何設置一個值,如果x.TransactionPrice爲空?在第三行。如何在.Where()擴展中設置零值(如果值爲空)
就在此代碼示例:
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
});
謝謝。但不起作用。 –
你可以給一些測試用例嗎?沒有測試用例很難得到你想要的東西 –
怎麼樣?如何檢查視圖中的模型是否爲null,然後將值設置爲屬性。怎麼做? –