gpt4 book ai didi

c# - LINQ to SQL 连接和 If 条件

转载 作者:太空宇宙 更新时间:2023-11-03 16:45:01 25 4
gpt4 key购买 nike

如果 bstock 不为空且 bstock.Price (bstock.Price 为可为 null 的 doubel? ) 不为 null。该连接是左外部连接。有人可以帮助我吗?

var bstocks = (from p in qry
join bstock in bstockRepository.Select() on p.StockCode equals bstock.StockCode
into J1
from bstock in J1.DefaultIfEmpty()
select new
{
p.StockCode,
p.Description,
p.ListPrice,
p.Price = bstock.Price != null ? bstock.Price : p.Price,
p.QuantityOnHand ,
p.Cube,
p.ShippingFormat,
p.Weight,
p.NextShipment,
p.NextShipment2,
p.NextShipmentQuantity,
p.NextShipment2Quantity,
Bstock = p.Bstock
}
).AsQueryable();

最佳答案

bstock 在您的查询中可以为空,因为您正在运行左连接。所以你需要考虑到这一点:

Price =  bstock != null && bstock.Price != null ? bstock.Price : p.Price,

结果:

var bstocks = (from p in qry
join bstock in bstockRepository.Select() on
p.StockCode equals bstock.StockCode into J1
from bstock in J1.DefaultIfEmpty()
select new
{
p.StockCode,
p.Description,
p.ListPrice,
Price = bstock != null && bstock.Price != null ? bstock.Price : p.Price,
p.QuantityOnHand ,
p.Cube,
p.ShippingFormat,
p.Weight,
p.NextShipment,
p.NextShipment2,
p.NextShipmentQuantity,
p.NextShipment2Quantity,
Bstock = p.Bstock
});

关于c# - LINQ to SQL 连接和 If 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6326008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com