gpt4 book ai didi

sql - LINQ to SQL C# COALESCE

转载 作者:行者123 更新时间:2023-12-01 08:42:06 24 4
gpt4 key购买 nike

鉴于下表:

Length | Width | Color | ID
===========================
18 | 18 | blue | 1
---------------------------
12 | 12 | red | 1
---------------------------

我想生成单列/行:
 SIZES
=================
18 x 18, 12 x 12,

我可以在 SQL 中执行此操作,如下所示:
DECLARE @SIZES VARCHAR(8000)
SELECT @SIZES = COALESCE(@SIZES, '') + Convert(varchar(80), [Length]) + ' x ' +
Convert(varchar(80), [Width]) + ', '
FROM table
where ID = 1
GROUP BY [Length], [Width]
ORDER BY [Length], [Width]
SELECT SIZES = @SIZES

但我无法弄清楚如何在 LINQ 中做到这一点。

我得到的最接近的是:
from t in table
where id == 1
group t by new {
t.Length,
t.Width
} into g
orderby g.Key.Length, g.Key.Width
select new {
SIZES = (Convert.ToInt32(g.Key.Length) + " x " +
Convert.ToInt32(g.Key.Width) + ", ")
}

它产生一列和两行:
SIZES
========
18 x 18,
12 X 12,

皈依者对问题不重要。尽管所有列都是整数,但列被定义为浮点数。关键是 COALESCE 函数我不知道如何在 LINQ 中做到这一点。

最佳答案

试试 ?? ( null coalesce operator ) 喜欢:

t.Length ?? 0

关于sql - LINQ to SQL C# COALESCE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1245526/

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